Ms-Dos - Bat para mover grupo de archivos por secuencia de numeros

 
Vista:
sin imagen de perfil

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Carlos (6 intervenciones) el 28/06/2016 22:57:43
Tengo una carpeta llamada contrato, dentro de ella tengo archivos llamados dela siguiente manera "00361570001.tiff" ..... "00361577008.tiff" . Que los mueva a una carpeta llamada como el ultimo "00361577008", son cerca de 9 millones de archivos por lo que se requiere de un bat para la tarea.

En la carpeta quedarían 8 archivos correlativos llamados :

00361570001.tiff
00361571002.tiff
00361572003.tiff
00361573004.tiff
00361574005.tiff
00361575006.tiff
00361576007.tiff
00361577008.tiff

Cualquier ayuda es de suma importancia. Espero me puedan ayudar. Grancias de antemano !!!

Test
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Antoni Masana (811 intervenciones) el 29/06/2016 08:51:05
En tu correo no queda claro como agrupas los ficheros.

- Los agrupas de 8 en 8 con el nombre de la carpeta del ultimo fichero
- Los agrupas pros los primeros 7 caracteres del nombre con el nombre de la carpeta del ultimo fichero.

Hace falta saber que criterio quieres utilizar para poder hacer un script
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Carlos (6 intervenciones) el 29/06/2016 15:38:52
Lo que se necesita, es que tome los últimos tres caracteres del nombre del archivo, empezando del 001 e incrementando de 1 en 1, hasta llegar nuevamente a 001 que seria otra carpeta.
Cree la carpeta con el nombre del ultimo archivo y los mueva. (Cada vez que se encuentre con un 001 cree una carpeta y mueva los archivos correlativos )
Espero se entienda la idea, y gracias por la pronta respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Carlos (6 intervenciones) el 29/06/2016 19:23:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
 
for %%a in (*.tiff) do call :Analiza %%a
GOTO:EOF
 
:Analiza
	(analiza los ultimos tres digitos)
	goto Sigue
 
:Sigue
	if (nombre archivo) LSS (nombre archivo siguiente)
	goto Carpeta
 
:Carpeta
	mkdir (crear carpeta con el nombre del ultimo archivo)
	goto Mover
 
:Mover
	move (mover grupo de archivos a la carpeta creada)
	goto EOF



Analizar el nombre del archivo, toma los últimos 3 digitos y los compara con el siguiente archivo, si es igual crea una carpeta con el nombre del primero y mueve el archivo, si es mayor sigue con el siguiente hasta que llegue nuevamente a 001, ahí crea una carpeta con el nombre del ultimo archivo, y mueve los archivos a la carpeta creada.


Espero me puedan ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Carlos (6 intervenciones) el 29/06/2016 21:02:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
 
for %%a in (*.tiff) do call :Analiza %%a
GOTO:EOF
 
:Analiza
(analiza los ultimos tres digitos)
goto Sigue
 
:Sigue
if (nombre archivo) LSS (nombre archivo siguiente)
goto Carpeta
 
:Carpeta
mkdir (crear carpeta con el nombre del ultimo archivo)
goto Mover
 
:Mover
move (mover grupo de archivos a la carpeta creada)
goto EOF



Analizar el nombre del archivo, toma los últimos 3 digitos y los compara con el siguiente archivo, si es igual crea una carpeta con el nombre del primero y mueve el archivo, si es mayor sigue con el siguiente hasta que llegue nuevamente a 001, ahí crea una carpeta con el nombre del ultimo archivo, y mueve los archivos a la carpeta creada.


Espero me puedan ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Carlos (6 intervenciones) el 30/06/2016 01:03:47
logre hacer un bat que hace un archivo por carpeta, lo comparto por si ayuda de algo

1
2
3
4
5
6
7
8
9
@echo off
 
SET Ruta_Origen=C:\Users\Administrador\Desktop\SS
SET Ruta_Destin=C:\Users\Administrador\Desktop\SS\Tmp
 
FOR %%a in (%Ruta_Origen%\*.tiff) do (
    mkdir     %Ruta_Destin%\%%~na >nul 2>&1
    move  %%a %Ruta_Destin%\%%~na\.
)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Antoni Masana (811 intervenciones) el 30/06/2016 12:18:55
Esto es lo que estas buscando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@echo off
 
set Orig=C:\Carlos_1
set Dest=C:\Carlos_2
 
set Ant_Nume=xxx
set Ant_File=
 
md %Orig%\Tmp
cd %Orig%
 
for %%a in (*.tiff) do call :Analiza %%a
call :Analiza 99999999001.tiff
 
rd %Orig%\Tmp /S /Q
goto :EOF
 
:Analiza
   set File=%1
   set Num=%File:~8,3%
 
:Control
   if %Ant_Nume% == xxx goto Sigue
 
   if not %Num% == 001  goto Sigue
      md   %Dest%\%Ant_File%
      copy %Orig%\Tmp\*.tiff %Dest%\%Ant_File%
      del  %Orig%\Tmp\*.tiff
 
:Sigue
   set Ant_File=%File:~0,11%
   set Ant_Nume=%Num%
 
   if Exist %File% move %File% %Orig%\Tmp
   goto :EOF

Aunque lo he probado y parece ser que funciona bién has una copia de seguridad antes de probarlo

Recuerda que debes modificar las líneas 3 y 4 para indicar la primera donde están los ficheros y la segunda donde se crean los directorios.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Bat para mover grupo de archivos por secuencia de numeros

Publicado por Carlos (6 intervenciones) el 30/06/2016 16:56:31
Muchisimas gracias !!!!
Funciono Perfecto !!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar