Ms-Dos - Copiar archivos que se registren en un listado de texto

 
Vista:
sin imagen de perfil

Copiar archivos que se registren en un listado de texto

Publicado por Percy (18 intervenciones) el 13/07/2012 19:20:21
Buenas tarde.

Por favor, necesisto de su ayuda.

Lo que intento hacer es copiar todos los archivos *.hse que se encuentran en una ruta hacia otra ruta, siempre y cuando coincidan con los registrados en un archivo txt que se encuentra en otra ruta.

por ejemplo tengo 10 archivos *.hse en el disco "c\", y en mi archivo txt tengo 5 registros que coinicden con el nombre de 5 archivos *.hse que se encuentran en la unidad "C\"; lo que le bat debe de hacer es copiar estos 5 que coinciden y llevarlos a la unidad "D\"

Nota : los nombres de los archivos *.hse que se encuentran en el archivo txt estan entre comilla.


Buscando mas informacion enontre esta pagian que mas o menso se asemeja a lo que necesito, peor no logro concretarsu ejecucion.

http://ubuntuforums.org/showthread.php?t=1890840

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
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos que se registren en un listado de texto

Publicado por Antoni Masana (811 intervenciones) el 16/07/2012 06:53:19
En primer lugar esta direccion que pones es para UNIX / LINUX y nada tiene que ver con MS-DOS.

El comando seria algo asi:

1
2
3
@ECHO OFF
 
FOR /F %%A IN (ARCHIVO.TXT) DO COPY C:\%%A D:\ /Y


Esto funciona bien si los nombres de ficheros no tienen espacios en caso contrario la cosa se complica y mucho.

Si no te funciona cuentame más cosas y buscaremos una solución.

Saludos.
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

Copiar archivos que se registren en un listado de texto

Publicado por Percy (18 intervenciones) el 16/07/2012 15:21:09
Estimado Antoni, tienes razon, el Link era de Unix / Linux; tal parece que en mi desesperacion por encontrar una solucion no me di cuenta del detalle.

Te comento que modifique el codigo que me enviaste y en la ventana de DOS me sale un mensaje que dice "El sistema no puede hallar el archivo especifico"

Cabe señalar que la cantiad de lineas que sale con este mensaje en la ventana de DOS es la misma cantidad de registros que tengo en mi ARCHIVO.TXT.

Tambien te comento que los nombres de los ficheros no tienen espacio

@ECHO OFF

FOR /F %%A IN (ARCHIVO.TXT) DO COPY C:\Prueba%%A C:\Prueba\Copia /Y

Por favor, estare a la espera de tus recomendaciones.
Gracias
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

Copiar archivos que se registren en un listado de texto

Publicado por Percy (18 intervenciones) el 16/07/2012 16:44:49
Antoni, otra cosa que he intentado es lo siguiente:

@ECHO OFF

for /F "tokens=1" %%B in (%C:\Prueba\ARCHIVO.txt) do copy %%B C:\Prueba\Copia\

Pero me sal el mismo mensaje de error.

Por favor, estare a la espera de tus recomendaciones.
Gracias
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
Val: 2
Ha aumentado 1 puesto en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos que se registren en un listado de texto

Publicado por Jose David Aragon (1 intervención) el 14/06/2017 06:41:38
buen dia señor antoni agradezco todo lo que hace, tengo el mismo problema pero lo unico diferente es que los mios si tienen espacios, creo los nombres con la herramienta dir y luego los muevo como usted indica, todo de maravilla, pero no me mueve los archivos que tienen espacios, como hago, existe algun comando para quitar los espacios o para realizar la lista y que me reconozca los espacios

gracias mil gracias
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
Imágen de perfil de A.H.H

Copiar archivos que se registren en un listado de texto

Publicado por A.H.H (216 intervenciones) el 16/07/2012 21:52:38
Hola tambien lo podrias usar asi, para comprobar un archivo especifico, como has dicho que estan entre comillas pues pones entre comillas el archivo ha comprobar y que quieres mover al disco D:\

1
2
3
4
5
@echo OFF
 
for /f "tokens=*" %%A in (Archivo.txt) do (if %%A == "archivo a comprobar" COPY %%A D:\)
 
pause
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
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

Copiar archivos que se registren en un listado de texto

Publicado por Antoni Masana (811 intervenciones) el 17/07/2012 06:42:02
En primer lugar un par de puntualizacines sobre el MS-DOS y el FOR en particular:
* No diferencia entre mayusculas y minusculas.
* La variable del FOR tiene un signo de porcentage " % " si se ejecuta como comando directo y dos signos de porcentage " %% " si se ejecuta dentro de un proceso BAT.

Ejemplo y explicacion del funcionamiento:

1
2
@ECHO OFF
FOR /F %%B IN (C:\Prueba\ARCHIVO.txt) DO COPY C:\Prueba\%%B C:\Prueba\Copia\%%B



El FOR abre el fichero C:\Prueba\ARCHIVO.txt y para cada linea que se supone que corresponde a un fichero que existe en el directorio C:\Prueba lo copia al directorio C:\Prueba\Copia.

Si lo escribes asi:

1
2
@ECHO OFF
FOR /F %%B IN (ARCHIVO.txt) DO COPY %%B C:\Prueba\Copia\%%B


El fichero ARCHIVO.TXT y el fichero a copiar deben estar en el directorio donde ejecutes el FOR por lo que esto fucionaria igual que el primer ejemplo:

1
2
3
4
@ECHO OFF
C:
CD C:\Prueba
FOR /F %%B IN (ARCHIVO.txt) DO COPY %%B C:\Prueba\Copia\%%B




El contenido de C:\Prueba\ARCHIVO.txt seria algo asi como esto:

1
2
3
4
5
Fichero1.hse
Fichero2.hse
Fichero3.hse
Fichero4.hse
Fichero5.hse
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

Copiar archivos que se registren en un listado de texto

Publicado por Percy (18 intervenciones) el 17/07/2012 18:01:50
A.H.H y Antoni.

Gracias por sus aportes, acabo de ejecutar los codigos que me enviaron y ambos satisfacen mi consulta....

Mil gracias por su apoyo..
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

Copiar archivos que se registren en un listado de texto

Publicado por binario (1 intervención) el 08/10/2013 17:35:51
hola amigo puedes ayudarme con esto
la cuestión es la siguiente necesito un bat que este ubicado en mi usb y que cuando lo conecte a un pc y se ejecute el bat, el bat copie todos archivos del pc ubicados en cualquier directorio de extensiones doc, docx, rtf, y pdf a mi usb.

tengo este código
@echo off
echo NOTA: este .bat hay que ejecutarlo dentro del directorio en
echo el que se desea actuar.
echo.
echo.
set /p extension=Introduce la extension a copiar,con el punto ejemplo .jpg :
cls
echo Nota: si es en la misma carpeta solo nombre de carpeta.
ECHO NO importa si el nombre carpeta lleva espacios.
echo.
echo.
set /p destino=Intro Ruta Carpeta Destino sin comillas:
mkdir "%destino%"
for /R %%x in (*%extension%) do copy "%%x" "%destino%"
EXIT

pero no me sirve porque no funciona si el bat esta en la usb y ademas aparece en pantalla la operación

muchas gracias
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