CMD/BAT - [решено] Рекурсивное переименование файлов.

Ответить
Аватара пользователя
llxmanll

CMD/BAT - [решено] Рекурсивное переименование файлов.

Сообщение llxmanll »

Здравствуйте. Эта тему уже находилась поиском. Но ответа на свою проблему не нашёл. Нужно переименовать файлы *.log, добавить дату, убрать время, в каталоге и подкаталогах. Некоторыми потугами родилось такое:



Код:

Код: Выделить всё

for /R d:\backups\log %%N IN (end.log) DO set NAME=%%~tN
set DONE=%NAME:~0,-6%
ren %%N %DONE%.log
pause

И оно работает без параметра /R, но не с ним, такое чувство, что не присваивается значение переменной DONE. В результате переименования остаются одни расширения файлов. Подскажите пожалуйста в чём ошибка и каком именно месте выпрямлять руки.
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Рекурсивное переименование файлов.

Сообщение Foreigner »

Код:

Код: Выделить всё

@echo off
for /f "tokens=*" %%i in ('dir /b /s /a d:\backups\log\end.log') do call:ren "%%i" %%~ti
goto:eof
:ren
ren %1 %2%~x1
Аватара пользователя
llxmanll

Re: CMD/BAT - [решено] Рекурсивное переименование файлов.

Сообщение llxmanll »

Работает, спасибо огромное.

Если не сложно, маленький вопрос. Почему



Код:

выделяется с временем изменения файла.

а в



Код:

его уже нет? Не вкурю никак...
Ответить

Вернуться в «Скриптовые языки администрирования Windows»