.bat中文件的前一天

时间:2019-01-26 05:06:23

标签: batch-file

我需要将先前日期的文件从一个文件夹复制到另一个文件夹。
我使用以下命令复制了前一天无法正常工作的文件。
对此的任何帮助都将受到赞赏

@echo off
For /F "delims=" %%G In ('PowerShell -Command "&{((Get-Date).AddDays(-1)).ToString('MMddyyyy')}"') Do Set "yesterday=%%G"
echo D | xcopy "D:\*.png" "D:\DNU" /D:yesterday /Y

1 个答案:

答案 0 :(得分:1)

来自xcopy /?

/D:m-d-y     Copies files changed on or after the specified date.
               If no date is given, copies only those files whose
               source time is newer than the destination time.

因此它需要m-d-y,但是您要用MMddyyyy来填充它。
另外,您需要在%前后加上yesterday才能使用此变量的值,所以请尝试以下操作:

@echo off
For /F "delims=" %%G In ('PowerShell -Command "&{((Get-Date).AddDays(-1)).ToString('MM-dd-yyyy')}"') Do Set "yesterday=%%G"
echo D | xcopy "D:\*.png" "D:\DNU" /D:%yesterday% /Y