我有一个在批处理脚本运行时创建的文本文件。如何将当前日期附加到文本文件名中,如instancename_4/12/2013
?
提前致谢
答案 0 :(得分:2)
使用以下
set filea=MyBigFile%date:~10%%date:~4,2%%date:~7,2%%time:~0,2%%time:~3,2%.txt
答案 1 :(得分:1)
试试这个:
echo off
set v = instancename_%date%.log
echo some log >> %v%
答案 2 :(得分:1)
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。