批量 – 如何通过最小尺寸和date修改来复制文件?

我有这个简单的批处理脚本,将最新的文件在一些目录复制到另一个地方。 我想让这个脚本也忽略1GB以下的所有文件(在DIR命令部分)。

FOR /F "delims=|" %%I IN ('DIR "Y:\DEVL\*.*" /B /A-D') DO SET NewestFile=%%I copy "Y:\DEVL\%NewestFile%" "F:\DEVL\%NewestFile%" 

任何帮助将非常感激。

选项1:如果您要复制最新的文件,但只有大于1GB的文件,只需将您的复制命令replace为:

 robocopy "Y:\DEVL" "F:\DEVL\" "%NewestFile%" /min:1073741824 

/ min:n以字节为单位定义最小大小。

选项2:如果要复制大于1GB的所有文件的最新文件,则更为复杂。

 @echo off Set CopyResult=0 FOR /F "delims=|" %%I IN ('DIR "Y:\DEVL\*.*" /B /O:-d /T:w /A-D') DO Call :DoCopy "%%I" Goto :EOF :DoCopy IF %CopyResult%==1 Goto :EOF set CurrentFile=%1 robocopy "Y:\DEVL" "F:\DEVL" %CurrentFile% /njs /njh /is /min:107374182 Set CopyResult=%errorlevel% 

/ min:n以字节为单位定义最小大小。