我的forfiles
语法有问题。我想写一个简单的forfiles
命令,它将:
但我在编写正确的语法方面遇到了问题。这是我此时写的内容。
forfiles /m *.file /d (What do I write here?) /C "cmd /c move @file C:\Users\User1\Desktop\New folder"
修改日期的格式为:DD/MM/YYYY
。
答案 0 :(得分:2)
除非您可以按相反的顺序处理月份列表(首先使用SetFile
移动文件,然后使用forfiles
,否则我认为/d +07/08/2016
可能无法满足您的需求。 ,然后是/d +01/07/2016
,等等。
如果PowerShell是一个选项,你可能会有更好的运气,例如像这样:
/d +01/06/2016
答案 1 :(得分:0)
要过滤掉在某个月(2016年6月,在以下示例中)修改的所有文件,您可以使用两个嵌套的forfiles
循环,其中外部循环传递在第一天或之后修改的所有文件。月份到内部的一个月,它返回在月的最后一天或之前修改的所有项目:
> nul 2>&1 forfiles /D +01/06/2016 /C "forfiles forfiles /M @file /D -30/06/2016 /C 0x22cmd /C if @isdir==FALSE > con echo @fdate0x09@ftime0x09@path0x22"
此脚本返回匹配文件的列表及其修改日期和时间。要将文件移动到另一个目录(例如,C:\Backup\June-2016
),命令行如下所示:
> nul 2>&1 forfiles /D +01/06/2016 /C "forfiles forfiles /M @file /D -30/06/2016 /C 0x22cmd /C if @isdir==FALSE move 00x7822@path00x7822 00x7822C:\Backup\June2016\\@file00x78220x22"
重定向避免forfiles
输出空行和错误消息。