У меня есть текстовый файл, который создается во время выполнения с помощью пакетного скрипта. как я могу добавить текущую дату в текстовое имя файла, например instancename_4/12/2013
?Как добавить текущую дату в текстовое имя?
Заранее спасибо
У меня есть текстовый файл, который создается во время выполнения с помощью пакетного скрипта. как я могу добавить текущую дату в текстовое имя файла, например instancename_4/12/2013
?Как добавить текущую дату в текстовое имя?
Заранее спасибо
попробовать это:
echo off
set v = instancename_%date%.log
echo some log >> %v%
Используйте следующие
set filea=MyBigFile%date:~10%%date:~4,2%%date:~7,2%%time:~0,2%%time:~3,2%.txt
set filename=instancename_%date:/=_%.txt
должен установить имя файла, близкий к вашей спецификации.
У вас не может быть /
в имени файла. %date:/=_%
преобразует /
в _
.
Поскольку формат даты имеет подавленный начальный ноль, попытка использования подстроки не будет работать должным образом.
Нам действительно нужно точно знать, как переменная %date%
появляется на вашем компьютере. У него может быть имя дня, а некоторые люди имеют имя месяца, а не числовое. Некоторые люди также подавили и запустили нулевой месяц в месяц, и я считаю, что также возможно иметь день или месяц с ведущим местом (день, месяц) < 10 И в этом году может быть 2 или 4 цифры ,
Он также может быть возможным использовать
for /f "tokens=1,2,3delims=/" %%a in (%date%) do set filename=instancename_%%a_%%b_%%c.txt
снова _
вытесняются /
.
Мощностью этого формата является то, что вы также можете изменить последовательность %% a .. %% c, чтобы дать вам дату в формате YY_MM_DD, которая лучше сортировать. YMMV.