如何在文本文件名中附加当前日期?

时间:2013-12-04 05:05:48

标签: batch-file filenames

我有一个在批处理脚本运行时创建的文本文件。如何将当前日期附加到文本文件名中,如instancename_4/12/2013

提前致谢

3 个答案:

答案 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。