Como copiar archivos de 3 en 3 en .bat?

Tengo una carpeta A con 1000 archivos y necesito copiarlos de 3 en 3 a una carpeta B hasta que la carpeta A quede vacía.

1 Respuesta

Respuesta

Necesito algunas aclaraciones:

  1. Hablas de vaciar la carpeta origen, por tanto se trata de mover más que de copiar, ¿es así?
  2. Dices que de tres en tres. ¿Significa esto que hay que agrupar cada tres archivos origen en uno destino? Si fuera así, ¿cómo se generaría el nombre del destino?
  3. ¿Qué debe hacer el bat cuando haya tratado un grupo de 3 archivos? ¿Esperar un tiempo, cuánto tiempo? ¿Terminar y esperar que se lance de nuevo externamente?

¿Qué pasó con esto? ¿Dejó de interesarte?

El tema es que tengo una carpeta con 300 archivos, pero debo copiar unicamente de 3 en 3 a otra carpeta y cuando los copie, se van borrando en la carpeta origen.

Aunque no me has contestado al punto 3 te sugiero que pruebes con esto:

@echo off
Setlocal EnableDelayedExpansion
set carpA=d:\Carpeta prueba
set carpB=d:\temp\Carpeta prueba
pushd %carpA%
:bucle
set /a num=0
for /f "tokens=*" %%n in ('dir /b *.txt') do (
   echo !num! move "%%n" "%carpB%"
   move "%%n" "%carpB%"&set /a num+=1
   if !num! EQU 3 goto :fin
   )
:fin
set /p mas=Mas copias (s/n)?ÿ
if %mas%==s goto :bucle
if %mas%==S goto :bucle
popd
goto :eof

He supuesto que se trata de archivos de texto (*.TXT) si son de otro tipo cambia la extensión del DIR del FOR. En las variables carpA y carpB pon la ruta de las carpetas origen y destino respectivamente. Ya me contarás

¿Alguna novedad?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas