Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Добавление текущей даты в начало имени файла (http://forum.oszone.net/showthread.php?t=255044)

Orlov_Pyotr 27-02-2013 10:06 2100057

[решено] Добавление текущей даты в начало имени файла
 
Добрый день!

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

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

megaloman 27-02-2013 10:16 2100063

Если в системе дата отображается как дд.мм.гггг то

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

Orlov_Pyotr 27-02-2013 10:24 2100068

Спасибо за ответ!

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

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

megaloman 27-02-2013 10:35 2100077

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 2100088

Извиняюсь, если недостаточно чётко обрисовал вводные.

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

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

megaloman 27-02-2013 12:52 2100179

Приведите точный текст вашего батника, который Вы запускаете. Мне непонятно откуда взялось 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 2100222

Сейчас супер! Скорость - огонь! Всё работает!

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

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


Время: 02:23.

Время: 02:23.
© OSzone.net 2001-