Como posso mover repetidamente o arquivo mais antigo em um diretório usando um script em lote?

Como posso mover repetidamente o arquivo mais antigo em um diretório usando um script em lote?

Como posso mover o arquivo superior (mais antigo) em um diretório, um por um, em um script em lote (Windows 7)?

Estou usando este script:

:backup
move something somewhere
timeout 36000
goto backup

Quero mover regularmente o arquivo principal de um diretório para outro diretório. Como posso especificar que apenas o arquivo superior (mais antigo) deve ser movido a cada volta do script?

Responder1

Como posso mover repetidamente o arquivo mais antigo em um diretório usando um script em lote?

O seguinte arquivo em lote test.cmdmoverá o arquivo mais antigo em um diretório:

@echo off
rem parameters
rem %1 source directory
rem %2 target directory
Setlocal EnableDelayedExpansion
:backup
for /f "tokens=*" %%a in ('dir "%1" /a-d /b /o-d') do set something=%%a
move "%1\%something%" "%2\%something%"
timeout 36000
goto backup

Chame o arquivo em lote com parâmetros, por exemplo:

test olddirectory newdirectory

informação relacionada