【发布时间】:2020-05-03 04:07:27
【问题描述】:
我目前不得不手动编辑批处理文件以手动告诉它要处理哪个目录。
它必须抓取的目录总是以“2020-”开头(至少今年是这样),如果我错过了一天,有时会有多个目录。
(如果更简单,它们将始终采用这种格式:“0000-00-00”)
有没有办法编辑这个来解决这个问题?
我尝试将 source_directory 设置为“2020*”,但我知道这可能不是这样的,哈哈,任何正确方向的帮助或指针都会很棒。
@echo off
pushd %~dp0
SET source_directory=2020-05-03
SET target_directory=%~dp0
for /f %%a IN ('dir "%source_directory%" /b') do (
move %source_directory%\%%a %target_directory%
)
【问题讨论】:
-
如果 2020 是您要查找的前缀,那么
2020-??-??应该这样做,除非您有 2020-aa-aa 形式的目录,其中a是字母字符。如果这样做,您可以随时检查 %%a 中的任何非数字值的结果并跳过执行移动。 -
此脚本是否在 source_directory 中指定的日期每天运行?
-
我希望它自动运行,所以我会通过任务调度程序。但目前由于限制,我不得不手动完成,所以有时它会被推迟,然后会累积好几天。所以我有“2020-01-01”和“2020-01-02”等。我希望它只使用当前日期作为变量,但它没有考虑到这一点。
-
感谢您提供有关“??”的信息,我已将其纳入我的解决方案中。
-
请从问题中删除您的解决方案并将其作为答案发布,因为这正是答案的目的......
标签: loops for-loop batch-file move