批处理文件命令,用于根据当前日期创建文件的名称

时间:2014-07-10 14:33:02

标签: batch-file command filenames

很抱歉问下面的问题命令,但我很难理解它。

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

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

感谢您的帮助

2 个答案:

答案 0 :(得分: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有很多选择。

答案 1 :(得分:0)

以下是一种自定义技术,其中它生成名称为日期的文件。它还包含一些预先键入的数据,以便您仅在创建时即可生成,并节省了平凡的活动所需的时间。

我将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中,即文件名与创建文件的路径串联在一起。