【问题标题】:Batch file command for creating a file's name as per the current date用于根据当前日期创建文件名的批处理文件命令
【发布时间】:2014-07-10 14:33:01
【问题描述】:

很抱歉提出以下问题命令,但我被它的简单性所困扰。

我需要一个 Windows 批处理文件,它根据计算机日期创建一个具有今天日期名称的文本文件。

2014 年 7 月 10 日 >>> 10072014 >>> 10-07-2014.txt

感谢您的帮助

【问题讨论】:

  • 不,我检查了这些问题。
  • 在文件名中获取日期是批处理论坛和新闻组中最常见的常见问题。有关获取变量的可靠方法,请参见此处:stackoverflow.com/search?q=fullstamp
  • "@echo set dt=%date%.txt copy %date%.txt \\SERVER\FOLDER1\FOLDER2\ echo %date% %time% %username% >> \\SERVER\FOLDER1 \FOLDER2\%date%.txt 净使用 >> \\\SERVER\FOLDER1\FOLDER2\%date%.txt cd c:\ c:\IPCONFIG >> \\SERVER\FOLDER1\FOLDER2\\%date%.txt结束"
  • 上面的脚本确实给了我我需要的东西。

标签: batch-file command filenames


【解决方案1】:

在这个意义上,我解析时间的方式各不相同。我根据放置批处理文件的服务器或工作站进行调整。不,从这个意义上说,这不是很便携,但很容易调整。

如果您的短日期格式是 mm/dd/yyyy,那么简单的方法是

SET DT=%date:/=-%
ECHO New File > %DT%.txt

这使得短日期中的“/”变成了“-”,与文件名兼容。

对于大多数服务器应用程序,我会加倍努力并打破 MM/DD 等:

SET DD=%date:~0,2%
SET MM=%date:~3,2%
SET YY=%date:~8,2%
SET YYYY=%date:~6,4%
SET DT=<your desired combo of month, day, year>
ECHO New File > %DT%.txt

那时,这对我来说很容易,并且避免使用解析日期和时间的 FOR 循环来工作,无论位置或区域设置如何。这对我来说并不重要。

这本质上是what is in this link,也是由 foxidrive 提供的。 SO 有多种选择。

【讨论】:

    【解决方案2】:

    Following 是一种自定义技术,它生成名称为日期的文件。它还包含一些预先输入的数据,因此您可以仅在创建时生成数据,从而节省您在日常活动中的时间。

    我已将 Y 即年份设置为 2020,M 即月份设置为 09,而日期是从 for 循环从 1 到 31 自动生成的。

    @ECHO OFF
    SETLOCAL ENABLEDELAYEDEXPANSION
    SET PATH=D:\ABHISHEK_DUTTA\WORK\DAILY_LOGS\
    SET Y=2020
    SET M=09
    FOR /L %%I IN (1,1,31) DO ( 
      IF %%I GTR 9 (SET "D=%%I") ELSE (SET "D=0%%I")  
      SET FNAME=%PATH%%Y%%M%!D!.txt
      (ECHO Notes for !D!-%M%-%Y%.
      ECHO Discussions 
      ECHO 1.  
      ECHO 2.  
      ECHO Remark) > !FNAME!
    )
    

    它检查 I 变量是否大于 9,否则连接 0。

    在 FNAME 中,即文件名与要创建的文件连接。

    【讨论】:

      猜你喜欢
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-25
      • 2011-12-05
      相关资源
      最近更新 更多