Войти

Показать полную графическую версию : [решено] Добавление слова к имени файла (win7)


Asuma
11-06-2014, 12:26
Добрый день!
Помогите пожалуйста в решении следующей задачки.
Есть файлы, скачанные с сайта с помощью wget. Для примера их названия следующие:
file-001.txt
file-002.txt
file-003.txt
file-004.txt
file-005.txt

Мне нужно как то добавить в начало файла следующие слова: temp.const.
То есть должно получиться:
temp.const.file-001.txt
temp.const.file-002.txt
temp.const.file-003.txt
temp.const.file-004.txt
temp.const.file-005.txt

С помощью команды REN у меня не получилось этого сделать.

Подскажите, пожалуйста есть ли какие-то дополнительные командные утилитки чтобы выполнить такую операцию?
Или возможно ли это сделать встроенными командами CMD?

P.S.: нужно наиболее простое решение.

LehaMechanic
11-06-2014, 12:36
Кучи софта. Например ReNamer

Elven
11-06-2014, 12:50
а что значит REN не справляется?

set d=d:\test
FOR /f %%f IN ('dir %d% /b /a:-d') do ren %d%\%%f temp.const.%%f
Вместо d:\test соответственно подставляешь свою папку.

Asuma
11-06-2014, 13:37
Elven спасибо большое сработало.

Не подскажете еще как сделать, что если в папке уже есть файлы с фразой "temp.const." он бы их не переименовывал?
И есть ли возможность чтобы он добавлял фразу и во вложенных папках если такие есть?

Georgio
11-06-2014, 13:49
Не подскажете еще как сделать, что если в папке уже есть файлы с фразой "temp.const." он бы их не переименовывал?
И есть ли возможность чтобы он добавлял фразу и во вложенных папках если такие есть? »

set d=d:\test
for /f %%f in ('dir "%d%" /b /a:-d /s 2^>nul^| findstr /biv "temp\.const\."') do ren "%d%\%%f" "temp.const.%%f"

Asuma
11-06-2014, 14:01
Georgio, выдается следующая ошибка:

ren "d:\test\d:\test\file-001.txt" "temp.const.d:\test\file-001.txt"
Синтаксическая ошибка в имени файла, имени папки или метке тома.

Georgio
11-06-2014, 14:07
Ой, извините, не учёл одно "обстоятельство". Правильно так:

set d=d:\test
for /f %%f in ('dir "%d%" /b /a:-d /s 2^>nul^| findstr /iv "\\temp\.const\."') do ren "%%f" "temp.const.%%~nxf"

.

Asuma
11-06-2014, 14:23
Georgio, Спасибо, сейчас скрипт отработал. Во всех вложенных папках добавилась фраза.
Но при повторном запуске скрипта он все равно еще раз добавляет temp.const. Получается temp.const.temp.const.file-001.txt.

У меня было предположение что дело в "2^>nul^|". Исправил на null но задвоение все равно происходит.

Georgio, еще раз огромное спасибо. Теперь все работает как надо.




© OSzone.net 2001-2012