我有以下代码创建日期格式,该格式允许我创建前一天的文件夹。问题是,如果日期在1到9之间,则日期戳带有-1-04-2019而不是08-04-2019会产生错误。 %day%-%month%-%year%的回显语句正确于2019年9月4日。
SET day=%date:~0,2%
SET Month=%date:~3,2%
SET Year=%date:~6,4%
SET /A Yesterday=%day-1
echo %Yesterday%-%Month%-%Year%
echo %day%-%Month%-%Year%
结果=
-1-04-2019
09-04-2019
有没有一种方法可以将零加起来,这样我就可以在1到9之间的前一天加上零。
我尝试了If语句:-
IF "%date:~0,1%" == "0" SET day=0%date:~1,1%
或
IF "%date:~0,1%" == " " SET day=0%date:~1,1%
问候 迈克尔
答案 0 :(得分:1)
如果您利用powershell中的batch-file,则可以很容易地获取所需的字符串,而不必在昨天是上个月或上一年的情况下执行计算; (或可能说明leap年等)
@For /F %%A In ('PowerShell -NoP "(Get-Date).AddDays(-1).ToString('dd-MM-yyy')"') Do @MD "%%A"
或更简单:
@PowerShell -NoP "MD (Get-Date).AddDays(-1).ToString('dd-MM-yyy')">Nul