Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Freezet

вариант с переименованием (если целевой файл уже существует):
Код: Выделить весь код
@Echo Off

Set $SRC=C:\*.JPG
Set $DST=D:\FILES

If Not Exist %$DST% MD %$DST% 2>Nul
If Not Exist %$DST% (
    @Echo Ошибка! Целевой каталог не обнаружен.
    Exit
)
For /F "Delims=" %%i In ('DIR /B/S/A:-D %$SRC%') Do (
    Call :FileGetNewName "%%i" "%$DST%"
    Call :FileCopy "%%i"
)

Exit

:FileCopy
:: ---
:: %1 - полное имя исходного файла, включая путь
:: ---
Echo From: %~1
Echo To  : %$N%%$I%%$X%
Echo.
Copy "%~1" "%FileGetNewName%" >Nul

GoTo :EOF

:FileGetNewName
:: ---
:: %1 - полное имя исходного файла, включая путь
:: %2 - путь к целевому каталогу
:: ---
Set $I=
Set FileGetNewName=

If Not Exist "%~1" GoTo :EOF
For %%i In ("%~1") Do Set $N=%%~ni
For %%i In ("%~1") Do Set $X=%%~xi

:FileGetNewName_LOOP

Set FileGetNewName=%~2\%$N%%$I%%$X%
If Not Exist "%FileGetNewName%" GoTo :EOF
Set /A $I +=1
GoTo FileGetNewName_LOOP
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:00, 13-10-2008 | #369