【问题标题】:How can i append current date in text file name? [closed]如何在文本文件名中附加当前日期? [关闭]
【发布时间】:2013-12-04 05:05:48
【问题描述】:

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

提前致谢

【问题讨论】:

    标签: batch-file filenames


    【解决方案1】:

    使用以下

    set filea=MyBigFile%date:~10%%date:~4,2%%date:~7,2%%time:~0,2%%time:~3,2%.txt 
    

    【讨论】:

      【解决方案2】:

      试试这个:

      echo off
      set v = instancename_%date%.log
      echo some log >> %v%
      

      【讨论】:

        【解决方案3】:
        set filename=instancename_%date:/=_%.txt
        

        应该将文件名设置为接近您的规范。

        文件名中不能有/%date:/=_%/ 转换为 _

        由于您的日期格式似乎有一个被抑制的前导零,因此尝试使用子字符串将无法正常工作。

        我们真的需要准确地知道变量%date% 在您的机器上是如何出现的。它可能有日期名称,有些人拼写出月份名称而不是数字。有些人在月份也抑制了前导零 - 我相信也有可能让日期或月份的前导空格为 (day, month)

        也可以使用

        for /f "tokens=1,2,3delims=/" %%a in (%date%) do set filename=instancename_%%a_%%b_%%c.txt
        

        同样,_ 被替换为 /

        这种格式的强大之处在于,您还可以颠倒 %%a..%%c 的顺序,以 YY_MM_DD 格式为您提供更便于排序的日期。 YMMV。

        【讨论】:

          猜你喜欢
          • 2012-02-25
          • 2023-03-19
          • 1970-01-01
          • 2013-07-18
          • 1970-01-01
          • 1970-01-01
          • 2023-04-03
          • 2023-01-24
          • 1970-01-01
          相关资源
          最近更新 更多