Arquivo em lote para mover todos os arquivos de um local para outro no Windows?

Arquivo em lote para mover todos os arquivos de um local para outro no Windows?

o que procuro é um arquivo em lote que mova todos os arquivos de uma pasta para outra, com o objetivo de agendar isso como uma tarefa para ser executada duas vezes ao dia.

Eu conheço todo o comando move, etc., mas parece ser um arquivo por vez ou a própria pasta

preciso que a pasta permaneça lá, mas os arquivos dentro dela sejam movidos

Felicidades Kyle

Responder1

O próximo script pode ajudar:

@ECHO OFF >NUL
SETLOCAL enableextensions
set "folderIn=D:\test\Files In"
set "folderOu=D:\test\Files Out"
set "logFile=%folderOu%\movelog.txt"
set "logToDo=>> "%logFile%" 2>&1"
rem above line causes that moved file names will be logged to file %logFile%
rem unrem next line if you need no log 
rem set "logToDo="
set /A "filesInNo=0"
for /f "tokens=*" %%# in ('dir /B "%folderIn%\*.*" 2^>NUL') do set /A "filesInNo+=1"
(
  echo === %date% %time% === %filesInNo%
  if %filesInNo% GTR 0 (
      move /Y "%folderIn%\*.*" "%folderOu%\"
  ) else (
      rem Nothing to copy
  )
)%logToDo%
rem next line for debugging purposes only
if not "%*"=="" type "%logFile%"
ENDLOCAL
goto :eof

Para explicação, veja remcomentários eRecursos(leitura obrigatória):

informação relacionada