【发布时间】:2019-05-02 05:01:46
【问题描述】:
我有一个名为 yyyymmddFile1.txt 的文件,其中以特定格式添加了日期前缀。
我需要将该文件从一个位置复制到另一个位置,并且我需要选择今天和昨天的文件
今天,我写了
SET TODAY=%date:~10,4%%date:~4,2%%date:~7,2%
SET MAINPATH=D:\%TODAY%File1.txt
if exist %MAINPATH% (
COPY D:\%TODAY%File1.txt D:\NDM\InFileQueue\%TODAY%File1.txt
)
所以,这会将文件名设置为 20190502File1.txt
但我不知道如何将昨天的日期作为变量传递。我需要做这样的事情 -
SET YESTERDAY= ??
SET MAINPATH=D:\%YESTERDAY%File1.txt
if exist %MAINPATH% (
COPY D:\%YESTERDAY%File1.txt D:\NDM\InFileQueue\%YESTERDAY%File1.txt
)
【问题讨论】:
-
每个月的第一天都会出现你想要的问题。所以你必须用字符串做日期数学。选择一个合适的技术,批量不是它。
-
search of this site 没有理由不能给你一个满意的答案,因为重复的太多了,不能只推荐一个。
-
另外,您真的不需要使用任何这些方法,因为任务不需要知道昨天的日期。您可以简单地将
RoboCopy与/MaxAge:2选项一起使用,或者使用/D -1执行Copy到ForFiles。打开命令提示符窗口并输入每个命令,然后输入/?以了解如何使用它们。
标签: windows batch-file cmd