Ms-Dos - Crear un archivo .bat que incluya una linea move por cada linea de una lista.txt previa

 
Vista:

Crear un archivo .bat que incluya una linea move por cada linea de una lista.txt previa

Publicado por TONIDJIN (7 intervenciones) el 11/04/2023 18:38:46
Hola, quisiera hacer una pregunta para ver la forma más fácil de realizar lo que pretendo

Tengo una <Carpeta_roms> de la que obtengo una lista de todos los ficheros con la extensión
Carpeta_roms=> Contiene tres ficheros.
archivo 1.zip archivo 2.zip archivo3.chd

Creo un fichero listado.txt que contiene una linea por cada archivo.
archivo 1.zip
archivo 2.zip
archivo3.chd

dir *.* /b >liistado.txt para obtener ese listado

Lo que me interesa crear es una archivo mueve.bat que contenga estas lineas.
(previamente he creado la carpeta \movido\) para llevar ahí los archivos seleccionados.

move "archivo 1.zip" "movido\archivo 1.zip"
move "archivo 2.zip" "movido\archivo 2.zip"
move "archivo3.chd" "movido\archivo3.chd"

Me interesa tener el .bat con las instrucciones anteriores, para poder ejecutarlo en las carpetas que me interese.
Hasta ahora lo que hacía es copiar el txt en una columna excel, y tenía predefinidas las fórmulas en otra columna para obtener una linea move por cada linea del archivo listado.txt, pero creo que se podrá hacer más directamente, pero mis conocimientos en esta materia son muy limitados.
Gracias por vuestra ayuda
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

Crear un archivo .bat que incluya una linea move por cada linea de una lista.txt previa

Publicado por TONIDJIN (7 intervenciones) el 13/04/2023 00:50:52
Bueno, leyendo por el foro y viendo ejemplos creo que tengo algo muy aproximado a lo que busco
Lo comparto

@echo off
md movido
set destino_folder=movido

for /f "tokens=*" %%i in (lista.txt) DO (
move "%%i" "%destino_folder%"
)

Lo ideal para mí sería tener un txt (que después renombraría a .bat) en el que apareciesen todas las lineas que ha movido.
Seguiré investigando aunque con el bat anterior, creo que puedo apañarme.

Reconozco que soy muy novato en esto, puede que haya preguntado algo que para vosotros sea una chorrada, pero bueno.. algo vamos aprendiendo. 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
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

Crear un archivo .bat que incluya una linea move por cada linea de una lista.txt previa

Publicado por Antoni Masana (811 intervenciones) el 13/04/2023 13:37:29
Creo que buscas esto:

1
2
3
4
5
6
7
@echo off
md movido
set destino_folder=movido
 
for /f "tokens=*" %%i in (lista.txt) DO (
    echo move "%%i" "%destino_folder%" >>Mi_Nuevo_BAT.txt
)

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

Crear un archivo .bat que incluya una linea move por cada linea de una lista.txt previa

Publicado por TONIDJIN (7 intervenciones) el 14/04/2023 16:51:40
Efectivamente. Eso era lo que buscaba. Voy aprendiendo instrucciones según las veo en los scripts que corriges. Muchas gracias por tu ayuda.
Tengo unas cuantas tareas que realizaba con listas y archivos , mezclando bats, excel y voy poco a poco simplificándolas preguntando y leyendo de aquí y de allí... Voy a intentar averiguar como añadir extensiones o textos al inicio de cada linea.... Ahora lo estoy haciendo won notepad plus, pero plantearé la cuestión una vez que lea otros casos similares. Gracias de nuevo por tu ayuda
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

Crear un archivo .bat que incluya una linea move por cada linea de una lista.txt previa

Publicado por TONIDJIN (7 intervenciones) el 14/04/2023 17:17:07
@echo off
set inicio=file1_
set final=.zip

for /f "tokens=*" %%i in (lista.txt) DO (
echo %%i%final% >>"lista_mas_extension.txt"
echo %inicio%%%i >>"lista mas textoinicio.txt"
)

Creo que con esto me ahorro tener que abrir notepad plus para añadir textos al inicio o al fin de una lista.txt

Lo dejo por si le sirve a alguien
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