Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Orni1 en 26 Marzo 2021, 19:23 pm



Título: listar archivos a texto con formato
Publicado por: Orni1 en 26 Marzo 2021, 19:23 pm
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.


Título: Re: listar archivos a texto con formato
Publicado por: K-YreX en 26 Marzo 2021, 23:50 pm
Si te sirve de ayuda, te puedo decir cómo hacerlo utilizando los comandos de Linux (se pueden usar desde Windows instalando Cygwin):
Código:
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.


Título: Re: listar archivos a texto con formato
Publicado por: Danielㅤ en 26 Marzo 2021, 23:51 pm
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


Título: Re: listar archivos a texto con formato
Publicado por: EdePC en 27 Marzo 2021, 07:20 am
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
  1. (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
  1. (for /f %%a in ('dir /b *.jpg') do @set/p="%%a "<nul)>listado.txt


Título: Re: listar archivos a texto con formato
Publicado por: Orni1 en 27 Marzo 2021, 09:46 am

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

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


Muchas gracias este me va perfecto.