listar archivos a texto con formato

Iniciado por Orni1, 26 Marzo 2021, 19:23 PM

0 Miembros y 1 Visitante están viendo este tema.

Orni1

Hola de nuevo.

Alguien sabe decirme como podría listar los archivos de un directorio a un archivo de texto y el texto de ese archivo sea en este formato:

archivo1.jpg archivo2.jpg archivo3.jpg archivo4.jpg

Cada nombre de archivo separado por un espacio y la búsqueda sea por extensión de archivo.

Buscar todos los "jpg" del directorio ya se, pero sacarlos en formato lineal separado por espacios ni idea de si se puede. Lo suyo sería con un bat pero me da lo mismo el tipo de script que escriba el archivo de texto.

Gracias.

K-YreX

Si te sirve de ayuda, te puedo decir cómo hacerlo utilizando los comandos de Linux (se pueden usar desde Windows instalando Cygwin):
ls *.jpg | tr '\n' ' ' > salida.txt
Básicamente sería:
1. Mostrar todos los ficheros .jpg del directorio actual (ls *.jpg)
2. Sustituir el salto de línea por un espacio (tr '\n' ' ')
3. Guardar la salida en el fichero salida.txt (> salida.txt)

No sé si habrá algún equivalente al comando tr en Windows.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

Danielㅤ

Hola, pero sacando el listado de archivos de un directorio podes usar un bucle y una variable para almacenar los nombres de los archivos delimitados por espacios.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

EdePC

La manipulación de archivos en Linux es muy sencilla de aplicar, por desgracia en Batch no lo es tanto, hay que recurrir a bucles. Para tu caso te puede servir esa línea para el CMD:

Código (dos) [Seleccionar]
(for /f %a in ('dir /b *.jpg') do @set/p="%a "<nul)>listado.txt

Para usarlo en un .bat hay que poner dobles %%:

Código (dos) [Seleccionar]
(for /f %%a in ('dir /b *.jpg') do @set/p="%%a "<nul)>listado.txt

Orni1

Cita de: EdePC en 27 Marzo 2021, 07:20 AM

...Para usarlo en un .bat hay que poner dobles %%:

Código (dos) [Seleccionar]
(for /f %%a in ('dir /b *.jpg') do @set/p="%%a "<nul)>listado.txt


Muchas gracias este me va perfecto.