¿Archivo por lotes para mover todos los archivos de una ubicación a otra en Windows?

¿Archivo por lotes para mover todos los archivos de una ubicación a otra en Windows?

Lo que busco es un archivo por lotes que mueva todos los archivos de una carpeta a otra, con la vista para programarlo como una tarea para ejecutar dos veces al día.

Conozco todo el comando de movimiento, etc., pero parece ser un archivo a la vez o la carpeta en sí.

Necesito que la carpeta permanezca allí pero que los archivos del interior se muevan

Saludos Kyle

Respuesta1

El siguiente script podría ayudar:

@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 obtener una explicación, consulte remlos comentarios yRecursos(lectura obligatoria):

información relacionada