Войти

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


Orlov_Pyotr
27-02-2013, 10:06
Добрый день!

Как при помощи bat файла сделать такое:
В текущей директории добавить текущую дату (вида YYYYMMDD) к началу имени файла, с отбивкой пробелом?

Например: oszone.txt -> 20130227 oszone.txt

megaloman
27-02-2013, 10:16
Если в системе дата отображается как дд.мм.гггг то

ren oszone.txt "%Date:~6,4%%Date:~3,2%%Date:~0,2% oszone.txt"

Orlov_Pyotr
27-02-2013, 10:24
Спасибо за ответ!

С датой понял, а вот с именем файла как? Я имя для примера написал, они во всех файлах разные (сотни файлов) и их надо сохранить. Дата в начало просто добавляется.

Если я в тупую меняю на вот такой вид: ren *.* "%Date:~6,4%%Date:~3,2%%Date:~0,2% *.*", то он отъедает первые 7 символов в начале имени файла.

megaloman
27-02-2013, 10:35
Orlov_Pyotr, Как задан вопрос, так написан ответ :tongue: @Echo Off

Set Where=D:\У попа была собака\Поп ее любил

FOR %%f IN ("%Where%\*.*") DO ren "%%f" "%Date:~6,4%%Date:~3,2%%Date:~0,2% %%~nxf"
Или если батник в той же папке и она текущая@Echo Off

FOR %%f IN (*.*) DO (
If Not "%0"=="%%f" ren "%%f" "%Date:~6,4%%Date:~3,2%%Date:~0,2% %%~nxf"
)

Orlov_Pyotr
27-02-2013, 10:52
Извиняюсь, если недостаточно чётко обрисовал вводные.

Странно, но этот скрипт вообще не работает... Пишет:

folder\0000.bat""=="%f" was unexpected at this time

megaloman
27-02-2013, 12:52
Приведите точный текст вашего батника, который Вы запускаете. Мне непонятно откуда взялось folder\0000.bat Насколько я понял, вы используете 2 вариант скрипта. Он работает, если батник в той же папке где файлы и она текущая. Я проверил еще раз. Попробуйте вариант
@Echo Off

FOR %%f IN (*.*) DO (
If Not "%~nx0"=="%%~nxf" ren "%%f" "%Date:~6,4%%Date:~3,2%%Date:~0,2% %%~nxf"
)
Условие работы - папка с файлами должна быть текущей, батник может быть в любом месте.

Orlov_Pyotr
27-02-2013, 13:30
Сейчас супер! Скорость - огонь! Всё работает!

Мегаспасибо!!!

А до этого - не знаю, файл лежал в той же папке, название 0000.bat, но не работал. Сейчас поменял текст отсюда - огонь!! :)




© OSzone.net 2001-2012