Tol!k

|
Posted: Sun Dec 25, 2011 19:32 Post subject: |
|
|
к http://forum.wincmd.ru/viewpost.php?p=62914 добавил перемещение
| Code: | @echo off &setlocal enableextensions &chcp 1251 >nul
rem Копирование файлов и папок с переименованием по счётчику
rem Параметры: %L "D:\куда\" "Приставка_"
rem %L "%T" "" -m
rem -m — удалять источник
rem Автор: Tol!k
set "trg=%~2" &set "pref=%~3"
if "%~4"=="-m" set "move=Yes"
for /f "usebackq delims=" %%f in ("%~1") do call :p "%%f"
goto :eof
:p
set "name=%~1" &set "ext=%~x1"
set /a n=0
call :loop 1000 &set /a n-=1000
call :loop 100 &set /a n-=100
call :loop 10 &set /a n-=10
call :loop 1
title "%new%"
if "%name:~-1%"=="\" (
xcopy "%name%*" "%trg%\%new%" /i /e /k/r/h >nul &&if "%move%"=="Yes" rd /s /q %1
) else (
echo f| xcopy %1 "%trg%\%new%" /k/r/h >nul &&if "%move%"=="Yes" del /f /q %1
)
goto :eof
:loop
if "%n%"=="9999" (
title STOP
echo 9999 единиц в месте назначения,
echo недостаточно разрядности счётчика.
pause >nul &exit /b 9
)
set /a n+=%1
set "e=000%n%"
set "e=%e:~-4%"
set "new=%pref%%e%%ext%"
if exist "%trg%\%new%" call :loop %1
goto :eof
|
|
|