Batch file 基于修改日期(不包括某些文件)将x天以前的文件从一个位置移动到另一个位置的批处理脚本
我正在为特定目的编写批处理脚本。 我的要求是将比特定日期(修改日期)更早的文件从一个位置移动到另一个位置 使用以下脚本:-Batch file 基于修改日期(不包括某些文件)将x天以前的文件从一个位置移动到另一个位置的批处理脚本,batch-file,cmd,Batch File,Cmd,我正在为特定目的编写批处理脚本。 我的要求是将比特定日期(修改日期)更早的文件从一个位置移动到另一个位置 使用以下脚本:- @echo off set "src=C:\move_file_1_loc_2_another\In" set "dest=C:\move_file_1_loc_2_another\Out" for %%F in ("%src%\*.*") do ( for /f "tokens=1,2,3 delims=/ " %%A in ("%%~tF") do (
@echo off
set "src=C:\move_file_1_loc_2_another\In"
set "dest=C:\move_file_1_loc_2_another\Out"
for %%F in ("%src%\*.*") do (
for /f "tokens=1,2,3 delims=/ " %%A in ("%%~tF") do (
if not exist "%dest%\%%A" mkdir "%dest%\%%A"
forfiles -p "%src%" -d -2 -m *.* /C "cmd /c move "%%~fF" "%dest%\%%A""
)
)
脚本成功地移动了文件,留下了一些扩展名。让我说得更清楚些
上面的脚本说要移动2天以前的所有文件,但系统也会移动过去2天的一些文件,并且有些文件会被删除
我的需要是,它应该排除过去2天的所有文件,无论文件的扩展名是什么
请告诉我哪里出了问题。
谢谢 如何将文件的
选项-d-2
更改为-d-3
?您需要使用0x22
将“
包含在forfiles/C
的命令行中,如下所示:forfiles-p“%src%”-d-2-m*/C”cmd/C move 0x22%%~fF0x22 0x22%dest%%A0x22“
Hi@aschipfl-将-2更改为-3的目的是什么。我的问题不是几天。问题是它也会移动前几天的一些文件,而我希望如果我写-2,就不会移动单个文件,这意味着没有单个文件(任何扩展名)应该从最近两天的目录中移动*我现在在系统中的文件类型是-.txt和.72x,系统正在移动.txt文件并保留.72x文件,但我希望脚本将.txt和.72x文件保留在系统中,并将其余文件移走,因为您说要移动超过2天的文件,和-2
包括2天以前的项目。不管怎样,我还是得不到你想要的。您正在谈论某些文件类型(扩展名),但您的代码没有反映它们。也许在你的问题中加入一些示例数据会有所帮助。。。