У меня есть этот простой пакетный скрипт, который копирует самый новый файл из какого-то каталога в другое место. Я хочу, чтобы этот сценарий также игнорировал все файлы (в разделе команд DIR) размером менее 1 ГБ.
FOR /F "delims=|" %%I IN ('DIR "Y:\DEVL\*.*" /B /A-D') DO SET NewestFile=%%I
copy "Y:\DEVL\%NewestFile%" "F:\DEVL\%NewestFile%"
Любая помощь будет очень признательна.
Опция 1: Если вы хотите скопировать самый новый файл, но только если он больше 1 ГБ, просто замените команду копирования на:
robocopy "Y:\DEVL" "F:\DEVL\" "%NewestFile%" /min:1073741824
/ min: n определяет минимальный размер в байтах.
Вариант 2: Если вы хотите скопировать самый новый файл из всех файлов, размер которых превышает 1 ГБ, это сложнее.
@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 определяет минимальный размер в байтах.