CMD/BAT - [решено] Добавление слова к имени файла (win7)

Ответить
Аватара пользователя
Asuma

CMD/BAT - [решено] Добавление слова к имени файла (win7)

Сообщение Asuma »

Добрый день!

Помогите пожалуйста в решении следующей задачки.

Есть файлы, скачанные с сайта с помощью 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

Re: CMD/BAT - [решено] Добавление слова к имени файла (win7)

Сообщение LehaMechanic »

а что значит REN не справляется?



Код:

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

set d=d:\test
FOR /f %%f IN ('dir %d% /b /a:-d') do ren %d%\%%f temp.const.%%f

Вместо d:\test соответственно подставляешь свою папку.
Аватара пользователя
Asuma

Re: CMD/BAT - [решено] Добавление слова к имени файла (win7)

Сообщение Asuma »

Elven спасибо большое сработало.



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

И есть ли возможность чтобы он добавлял фразу и во вложенных папках если такие есть?
Аватара пользователя
Asuma

Re: CMD/BAT - [решено] Добавление слова к имени файла (win7)

Сообщение Asuma »

Цитата Asuma:



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

И есть ли возможность чтобы он добавлял фразу и во вложенных папках если такие есть?
CMD/BAT - [решено] Добавление слова к имени файла (win7)






Код:

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

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

Re: CMD/BAT - [решено] Добавление слова к имени файла (win7)

Сообщение Asuma »

Georgio, выдается следующая ошибка:



ren "d:\test\d:\test\file-001.txt" "temp.const.d:\test\file-001.txt"

Синтаксическая ошибка в имени файла, имени папки или метке тома.
Аватара пользователя
Asuma

Re: CMD/BAT - [решено] Добавление слова к имени файла (win7)

Сообщение Asuma »

Ой, извините, не учёл одно "обстоятельство". Правильно так:





Код:

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

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

Re: CMD/BAT - [решено] Добавление слова к имени файла (win7)

Сообщение Asuma »

Georgio, Спасибо, сейчас скрипт отработал. Во всех вложенных папках добавилась фраза.

Но при повторном запуске скрипта он все равно еще раз добавляет temp.const. Получается temp.const.temp.const.file-001.txt.



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



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

Вернуться в «Скриптовые языки администрирования Windows»