Страница 1 из 1

Групповое переименование с принудительной заменой

Добавлено: Чт окт 29, 2009 17:55
RainDrops
Здравствуйсте. Возникла проблема подобного рода:
На диске есть множество файликов вида *.*.abc, а рядом с ними ещё столько таких же, но без ".abc" на конце. Требуется переименовать файлы *.*.abc в вариант "без .abc на конце", заменив оригинальные. Например файлы qwe213.exe.abc и asd321.txt.abc, необходимо переименовать в qwe213.exe и asd321.txt с заменой существующих.
Пробовал через групповое переименование. И меня этот вариант устраивает полностью, окромя того, что он не хочет заменять старые файлы...
Сразу оговорюсь: файлов для переименования очень много, они лежат в разных директория в перемешку с файлами, которые трогать не надо. В ручную лопатить каждую директорию придётся очень и очень долго, поэтому прошу совета у знатоков TC. :)

Добавлено: Чт окт 29, 2009 18:28
Tol!k
Помести этот .cmd в папку, с которой нужно начать, и запусти

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

@echo off &chcp 1251 >nul
setlocal enableextensions

for /f "delims=" %%f in ('dir *.abc /b/s') do (
if exist "%%~dpnf" del /q "%%~dpnf"
ren "%%f" "%%~nf"
)

Добавлено: Чт окт 29, 2009 18:40
RainDrops
Tol!k
Спасибо за помощь! :D

Добавлено: Чт окт 29, 2009 18:43
Samwatas
Во первых, такие вопросы нужно задавать в подфоруме автоматизации а не здесь. Во вторых, здесь ТС вообще не нужен.
Создаешь батник с таким содержимым:

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

@echo off
for %%i in ("*.abc") do (
move /y "%%~i" "%%~ni"
)
Ложишь его в нужную тебе директорию и запускаешь (дважды кликаешь на нем). Все файлы с нужным расширением в ЭТОЙ директории будут переименованы.

Добавлено: Чт окт 29, 2009 18:59
Tol!k
Ложишь его в нужную тебе директорию и запускаешь (дважды кликаешь на нем). Все файлы с нужным расширением в ЭТОЙ директории будут переименованы.
Тогда уж лучше оформить в виде кнопки

Добавлено: Чт окт 29, 2009 19:10
Avada
Samwatas писал(а):такие вопросы нужно задавать в подфоруме автоматизации а не здесь
Справедливое замечание. Тема перенесена в подфорум Автоматизация Total Commander.