2014-01-02 3 views
2

Я хочу сделать исполняемый файл с более чем 5 минутами. Не знаю, как сравнить измененную дату файла VS с системной датой.BATCH - перемещение файлов старше 5 минут

@echo off 

for %%f in (*.log) do ( 

move %%~nf.log \Procesados 

) 

exit 
+0

ли * есть * быть в Batch? Это было бы намного проще в Powershell! –

+0

может быть что-то в этом посте для вас http://stackoverflow.com/questions/9922498/calculate-time-difference-in-batch-file – kenny

+0

Да, в BATCH @RB –

ответ

1

Один из способов заключается в загрузке 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, читайте здесь .....

Read me-1

Read me-2

Read me-3

+0

Если я хочу переместить файлы из исходного каталога в целевой каталог, как и должна быть команда? –

0

Эта партия будет продолжать работать до тех пор пока вы остановить его, и если он находит файл старше 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 в соответствии с вашими потребностями.

CURTSEY: This thread

+0

Похоже, что это провалится в зависимости от формата времени. 24 против 12-часового времени. – foxidrive

Смежные вопросы