пакетная переименовка файлов
От Alexander A. An (2:5085/109.1) к Vladimir Fyodorov
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
Вторник Август 11 2009, 00:31, Vladimir Fyodorov --> Alexander A. An:
VF> Спасибо, конечно, но не годится. Hадо, чтобы сортировка по имени файла
VF> соответствовала времени, то есть вначале должен быть год, потом месяц,
VF> потом день, потом номер дубля.
Это не трудно подправить:
──────────────────────[ Windows Clipboard ]────────────────────────
cls
rem setlocal
set wdir=d:\temp\3
for %%i in (%wdir%\*.*) do (
for /f "tokens=1-5 delims=. " %%j in ("%%~xti") do (
call :copyfile %%i %%j %%k %%l %%n
)
)
goto end
:copyfile
Set /a num=1
set number=00001
if not exist %wdir%\%4_%3_%2-%number%.%5 (
rename %1 %4_%3_%2-%number%.%5
goto :eof
)
:NextNumber
If Exist %wdir%\%4_%3_%2-%number%.%5 (
Set /a num=%num%+1
if %num% LSS 10 (
set number=0000%num%
goto NextNumber
)
if %num% LSS 100 (
set number=000%num%
goto NextNumber
)
if %num% LSS 1000 (
set number=00%num%
goto NextNumber
)
if %num% LSS 10000 (
set number=0%num%
goto NextNumber
)
GoTo NextNumber
)
rename %1 %4_%3_%2-%number%.%5
goto :eof
:end
──────────────────────[ Windows Clipboard ]────────────────────────
Теперь на выходе получаем файлы в формате YYYY_MM_DD-NNNNN.XXX, где XXX - старое расширение файла, NNNNN - пятизначное значение от 00001 до 99999
Первый файл теперь всегда получает конец -00001, раз правильная сортировка важна.
В принципе, счеткик можно увеличить, не ограничиваясь 99999. Это не трудно.
Такое подойдет?
--- <[ ФК Локомотив (М) - Hаш паровоз вперёд летит... ]> ---
* Origin: Мчится тихий огонёк моей души (2:5085/109.1)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким