很抱歉问下面的问题命令,但我很难理解它。
我需要一个Windows批处理文件,根据计算机日期创建一个名称为今天日期的文本文件。
2014年7月10日>>> 10072014>>> 10-07-2014.txt
感谢您的帮助
答案 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中,即文件名与创建文件的路径串联在一起。