Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Переименование папок по именам PSD-файлов в них 
Author Message
MVV



PostPosted: Tue Oct 25, 2016 13:31    Post subject: Reply with quote

В этом варианте рекурсия не поддерживается - но она и не запрашивалась.

А на 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…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group