Para expertos. ¿crear con .bat una copia de archivos?

Buenas, colegas

Es un poco rebuscado pero seguro que algún "experto" quizá pueda orientarme.

Tengo unos archivos .txt o .ini que contienen una relación de archivos sin la extensión (en concreto son del mame) os hablo de listas de 500 juegos por ejemplo, cada juego está en una linea y sin extensión

Me gustaría saber si se puede crear algún .bat o algo similar que me lleve los archivos que tengo en la carpeta c:/origen a otra carpeta c:/destino por ejemplo, borrandolos de la c:/origen (creo que el comando en ms dos era MOVE), pero que lo haga en función de la lista.ini que yo haya creado.

El tema es que el archivo lista.ini, o lista.txt contiene la relación de los archivos que quiero mover pero son demasiados como para buscarlos con el explorador de windows y cortar y pegar. Y además tengo varios archivos lista.ini

Bueno, ahí lanzo el reto.
Gracias por vuestra ayuda.
Pd. Tengo windows 7
Bueno... no sé si se puede hacer una lectura de un archivo con un batch directamente o es necesario recurrir a una aplicación de terceros...

En cualquier caso... ¿Puedes poner un ejemplo algo más específico? ¿Cómo sería el .ini con la información a mover?
JuananBow escribió:Bueno... no sé si se puede hacer una lectura de un archivo con un batch directamente o es necesario recurrir a una aplicación de terceros...

En cualquier caso... ¿Puedes poner un ejemplo algo más específico? ¿Cómo sería el .ini con la información a mover?


ok. pongo un ejemplo
el directorio que contiene los archivos a mover es c:/origen y contiene unos 6000 archivos del tipo xxx.zip

hay un archivo .ini o .txt con esta estructura tipo
[categoria]
juego3
juego5

es decir, cada linea contiene un nombre de archivo que teoricamente esta en c:/origen pero sin la extension .zip

Se trata de "automatizar" la tarea que haga que el archivo juego3 y juego5 dejen de estar en el directorio c:/origen y pasen a un directorio c:/destino
el problema es que cada ini tiene como unos 500 archivos (por eso quiero automatizar la tarea....)

Si hubiese forma de insertar en cada linea del .ini la instruccion copy archivo.*.* c:\destino (no estoy muy seguro de la sintaxis....) creo que podría valer... pero no se cómo porque partimos de que en cada linea lo unico que tengo es el nombre del archivo.

Espero haberme explicado.
Gracias de nuevo por vuestra ayuda. A ver si alguien da con la solución
Para leer líneas de un fichero y trabajar con ellas:

FOR /F %%a IN (elarchivo.ini) DO (
   move %%a.zip destino\
)


http://www.robvanderwoude.com/ntfor.php

Por supuesto se puede hacer mejor, eso ya es cosa tuya, estoy ocupado ahora. No hay sólo líneas con juegos, a no ser que haya un juego llamado [categoria] ^^
Puedes abrir el fichero con excel y te aparecerá el listado en la columna A, luego lo único que tienes que hacer es ponerte en la columna B y poner una formula mas o menos así ="move " & A1 & ".zip " & "d:\" & A1 & ".zip"

De todas formas te paso un ejemplo.

http://rapidshare.com/files/408273776/Libro1.xls

Una vez tienes toda la columna B rellena copias la columna y la pegas en un txt en el mismo directorio donde están los archivos, guardas el txt lo renombras como bat y lo ejecutas.
caoticos escribió:Puedes abrir el fichero con excel y te aparecerá el listado en la columna A, luego lo único que tienes que hacer es ponerte en la columna B y poner una formula mas o menos así ="move " & A1 & ".zip " & "d:\" & A1 & ".zip"

De todas formas te paso un ejemplo.

http://rapidshare.com/files/408273776/Libro1.xls

Una vez tienes toda la columna B rellena copias la columna y la pegas en un txt en el mismo directorio donde están los archivos, guardas el txt lo renombras como bat y lo ejecutas.


Muchísimas gracias. Era justo lo que buscaba.
5 respuestas