Ms-Dos - Mover archivos automaticamente

 
Vista:
Imágen de perfil de Alan
Val: 1
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Mover archivos automaticamente

Publicado por Alan (1 intervención) el 25/05/2018 18:29:30
Hola que tal, tengo una situacion que he tratado de resolver en los ultimos dias para no consigo que funcione, le explico:

Tengo la tarea de meter cierta cantidad de archivos en una carpeta
ejemplo:

12-archivo 1.jpg, 12-archivo 2.jpg, 12-archivo 3.jpg (los archivos a mover)
Carpeta: 12(el nombre de la carpeta )

El punto es organizar todos archivos que inicien con el mismo nombre de determinada carpeta, he intentado hacerlo en macros de excel pero no consigo que funcione, asi mismo encontre en este foro un metodo en .bat pero solo funciona para un archivo a la vez.

Para hacer el de excel en macros, consegui listar todos los nombres de archivos con su ruta originar y la ruta a la que lo quiero mandar, me podrian apoyar a realizar esta tarea?
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

Mover archivos automaticamente

Publicado por Antoni Masana (811 intervenciones) el 26/05/2018 08:43:51
Buenas,

Mover archivos lo puedes hacer con muchas herramientas. Te nombro algunas

Explorer
BAT
VBS (Visual Basic Script)
MACRO (Excel / Word / Access / etc )
PERL
PYTHON
VB
C++
COBOL
etc.

Las tres primeras son nativas de Windows y el tercero esta bien cuando es parte de otro proceso o no sabes de los anteriores.

Ahora la cuestión es:

¿Se trata de algo puntual o se repite con cierta frecuencia?
¿El nombre de la carpeta son los DOS primeros caracteres del nombre del fichero?

Te pongo un pequeño código y después lo ajustamos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
set Dir_Orig=C:\Directorio\Origen
set Dir_Dest=C:\Directorio\Destino
 
set Home=%CD%
cd %Dir_Orig%
for %%a in (*.jpg) do call :Mover "%%~na" "%%a"
cd %Home%
goto :EOF
 
:Mover
   SET File=%1
   SET File=%File:~1,-1%
   SET Direc=%File:~0,2%
   if not exist %Dir_Dest%\%Direc%\nul  MD %Dir_Dest%\%Direc%\nul
   move %2 %Dir_Dest%\%Direc%\.
   goto :EOF

Antes de copiar crea el destino si no existe. No esta probado, a falta de error u omisión debería funcionar.

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