2014-02-03 3 views
0

На компьютере с Windows у меня есть куча файлов в многочисленных папках с тире в имени файла.команда cmd для замены всех "-" на "_"

Насколько это возможно, удалите все тире в именах файлов в разных папках и замените их символом подчеркивания?

+0

'ren * - *. * * _ *. *'? –

+0

Это кажется близким, но, похоже, не затрагивает структуру папок. Эта структура выглядит примерно так: top_dir/lower_dir/2nd_lower_dir, top_dir/lower_dir/3rd_lower_dir и т. Д. Я хотел бы обратиться ко всем файлам в этих папках. Моя ошибка плохо сформулировала этот первоначальный вопрос. – JustADude

+0

И, "слова 08-09-2013 words.pptx" стал "словами 08-09-2013 words.pptx_", так что это не совсем ожидаемый результат. Еще раз спасибо за любые мысли. – JustADude

ответ

1

Просто сделай это:

@echo off 
setlocal EnabledelayedExpansion 
for /r "c:\path\to\main folder\" %%a in (*) do (
set "newname=%%~na" 
set "newname=!newname:-=_!" 
ren "%%~a" "!newname!%%~xa" 
) 

И что должны делать то, что вы хотите.

+0

+1 Сделал небольшие изменения. Переименовать нельзя использовать путь в целевом имени. – foxidrive

Смежные вопросы