Как пронумеровать, (.bat) кодом скопированные файлы (Desktop.ini)
Как, (.bat) кодом пронумеровать скопированные файлы, чтобы они не копировались, и не заменяли друг друга. А например велось нумерация одинаковых файлов.
Например: desktop.ini, desktop.ini-1,desktop.ini-2, desktop.ini-3 и. т. д.
Код:
@echo off
Md %USERPROFILE%\Desktop\Temporary
setlocal enableextensions enabledelayedexpansion
(
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
for /f "delims=" %%a in ('2^>nul dir/a-d/b/s "%%i:\Desktop.ini"') do (
>nul xcopy/hkry "%%a" "%USERPROFILE%\Desktop\Temporary\"&& (
echo The file is found and copied to "Desktop_ini".& pause>nul& endlocal& exit/b 0
)
)
)
)|| (echo The file is not found.& pause>nul& endlocal& exit/b 1)
|
Цитата:
Цитата ufooo
Например: desktop.ini, desktop.ini-1,desktop.ini-2, desktop.ini-3 и. т. д. »
|
Ну это как-то "негуманно" по отношению к расширению файла, давайте лучше так: "desktop.ini", "desktop[1].ini", "desktop[2].ini", "desktop[3].ini" и т. д.
Код пакетного файла:
Код:
@echo off
set "my_file=desktop.ini"
set "my_folder=%USERPROFILE%\Desktop\Temporary"
2>nul md "%my_folder%"
setlocal
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
for /f "delims=" %%j in ('
2^>nul dir/a-d/b/s "%%i:\%my_file%"
') do (
if not defined count (
set name=%%~nxj
) else (
call set name=%%~nj[%%count%%]%%~xj
)
echo f| >nul cmd/v/c xcopy/hkry "%%j" "%my_folder%\!name!"&& (
echo "%%j" is found and copied to "%my_folder%".
echo.
set/a count+=1
)
)
)
if not defined count (
echo The file is not found.
)
pause>nul
endlocal
exit/b 0
.
|
Код работает-спасибо.
Цитата:
Цитата Georgio
давайте лучше так: "desktop.ini", "desktop[1].ini", "desktop[2].ini", desktop[3].ini" и т. д. »
|
Я так и думал.
|
Время: 21:31.
© OSzone.net 2001-