В каталоге с несколькими подкаталогами я должен изменить имена файлов, которые имеют _
символ к другому символу: .
, например:
ABC12345_DEF --> ABC12345.DEF
Я должен сделать это рекурсивно через дерево каталогов.
Последние три символа имени файла являются не всегда тем же.
Используя переименовывают подстановочные знаки по обе стороны от _
или .
не работает (плюс, я должен сделать это через несколько каталогов).
Следующее должно работать. Я использовал move
вместо ren
из-за особенностей ren
в обработке имен файлов в кавычках.
for /f "tokens=1,2 delims=_" %i in ( 'dir /s/b *_*.' ) do @( move "%i_%j" "%i.%j" )
Можно удалить @
если требуется визуально отследить прогресс команды.
изменение, что я нашел в этом пакете, переименовывает/перемещает сценарий, это должно работать:
for /r %x in (*_*) do ren "%x" *.*