我有这个简单的批处理脚本,将最新的文件在一些目录复制到另一个地方。 我想让这个脚本也忽略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以字节为单位定义最小大小。