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 rem
los comentarios yRecursos(lectura obligatoria):
- (referencia de comando)Un índice AZ de la línea de comando CMD de Windows
- (particularidades adicionales)Sintaxis de la línea de comandos de Windows CMD Shell
- (
%~#
etc. página especial)Argumentos de la línea de comando (parámetros) - (
>>
,2>&1
etc. página especial)Redirección