Я хочу сделать исполняемый файл с более чем 5 минутами. Не знаю, как сравнить измененную дату файла VS с системной датой.BATCH - перемещение файлов старше 5 минут
@echo off
for %%f in (*.log) do (
move %%~nf.log \Procesados
)
exit
Я хочу сделать исполняемый файл с более чем 5 минутами. Не знаю, как сравнить измененную дату файла VS с системной датой.BATCH - перемещение файлов старше 5 минут
@echo off
for %%f in (*.log) do (
move %%~nf.log \Procesados
)
exit
Один из способов заключается в загрузке findutils и coreutils затем сделать это:
gnu_find . -type f -mmin +05 -exec cp "{}" c:\destination ;
, что все, что вам нужно. Также учитывается расчет даты. Не нужно изобретать собственные расчеты даты.
EDIT В соответствии с ОП запросов:
В приведенном ниже примере FIND ищет все файлы в текущем каталоге
gnu_find . -type f -mmin +5 -exec cp "{}" C:\destination\folder ;
Но, вы можете указать каталог для поиска, как вы хотите (.) :
gnu_find D:\source\folder -type f -mmin +5 -exec cp "{}" E:\destination\folder ;
Чтобы узнать больше возможностей полезности FIND, читайте здесь .....
Если я хочу переместить файлы из исходного каталога в целевой каталог, как и должна быть команда? –
Эта партия будет продолжать работать до тех пор пока вы остановить его, и если он находит файл старше Xtime он перемещает его в пункт назначения. Поместите пакет в ту же папку с файлами .log.
@echo off
setlocal enabledelayedexpansion
:Loop
set "Xtime=5"
For /F "tokens=2,* delims=:" %%a in ('echo %time%') Do set CurrTime=%%a
For %%a in (*.log) Do (
For /F "tokens=3 delims=: " %%b in ("%%~ta") Do (
set "Ftime=%%b"
set /a check = CurrTime - Ftime
IF !check! GEQ !Xtime! (MOVE /Y %%~fsa path_to_destiantion_folder
) Else (goto next)
)
)
:next
goto Loop
изменить Xtime в соответствии с вашими потребностями.
Похоже, что это провалится в зависимости от формата времени. 24 против 12-часового времени. – foxidrive
ли * есть * быть в Batch? Это было бы намного проще в Powershell! –
может быть что-то в этом посте для вас http://stackoverflow.com/questions/9922498/calculate-time-difference-in-batch-file – kenny
Да, в BATCH @RB –