Ms-Dos - Buscar archivo con el mismo nombre y moverlo

   
Vista:

Buscar archivo con el mismo nombre y moverlo

Publicado por nicolas (1 intervención) el 09/03/2016 23:04:15
Buenas a todos, les consulto lo siguiente, se puede hacer .bat que lea los nombres de los archivos de una carpeta A y busque ese mismo nombre en otra carpeta B, y si esta, que lo mueva a la carpeta A. Esto lo necesito ya que ambos archivos si bien se llaman igual, tienen diferente extension y los necesito juntos.
Gracias
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

Buscar archivo con el mismo nombre y moverlo

Publicado por Antoni Masana (269 intervenciones) el 14/03/2016 11:36:48
Si entiendo bien lo que deseas hacer el BAT seria algo asi:

1
2
3
4
5
6
7
8
@echo off
 
SET Orig=C:\Carpeta A
SET Dest=C:\Carpeta B
 
CD "%Orig%"
 
FOR %%I IN (*.*) DO IF EXIST %Dest%\%~nI.*  COPY %Dest%\%~nI.*   %Orig%\%~nI.*


¿Qué hace?

Se coloca en la carpeta A y para cada fichero de esta carpeta busca si existe un fichero con el mismo nombre y cualquier extensión en la carpeta B, si existe lo copia de la carpeta B a la carpeta A.

Si los quieres mover en lugar de copiar cambia el COPY por un MOVE.

Si en el destino ya existe un fichero con el mismo nombre preguntara si lo quieres sobreescribir, en caso de que SI quieras siempre añade un /Y al final de la línea del COPY o MOVE

Para ver lo que hace y como lo hace sin hacerlo, prueba esto:

1
2
3
4
5
6
7
8
@echo off
 
SET Orig=C:\Carpeta A
SET Dest=C:\Carpeta B
 
CD "%Orig%"
 
FOR %%I IN (*.*) DO IF EXIST %Dest%\%~nI.*  ECHO COPY %Dest%\%~nI.*   %Orig%\%~nI.*

o esto

1
2
3
4
5
6
7
8
@echo off
 
SET Orig=C:\Carpeta A
SET Dest=C:\Carpeta B
 
CD "%Orig%"
 
FOR %%I IN (*.*) DO ECHO IF EXIST %Dest%\%~nI.*  COPY %Dest%\%~nI.*   %Orig%\%~nI.*
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