MVV

|
Posted: Tue Oct 25, 2016 13:31 Post subject: |
|
|
В этом варианте рекурсия не поддерживается - но она и не запрашивалась.
А на XP и правда не работает. Возможно, команда for читает файлы из директории в процессе обработки, а не предварительно.
На XP у меня работает такой вариант (заодно с рекурсией):
Code: | for /f "delims=" %f in ('dir /s /b *.psd') do @ren "%~pf" "%~nf" |
Или то же самое с usebackq (я всегда пишу usebackq, т.к. так нет проблем с прямым перечислением имён файлов в кавычках):
Code: | for /f "usebackq delims=" %f in (`dir /s /b *.psd`) do @ren "%~pf" "%~nf" |
Но нужно иметь в виду, что если PSD есть и в папке, и в подпапке, то подпапка скорее всего не переименуется, т.к. верхняя папка будет переименована ранее. Впрочем, повторный вызов команды переименует уже вложенную папку.
Ещё есть вариант сначала выдать список путей файлов во временный файл и потом второй командой пройтись по нему. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|