Línea de comando imprime todos los nombres de archivos en el directorio

Línea de comando imprime todos los nombres de archivos en el directorio

Tengo un directorio que contiene alrededor de 3000 imágenes, lo que me gustaría hacer es imprimir (en un archivo si es posible o incluso en una pantalla) los nombres completos de las imágenes después de formatearles algunas cadenas y concatenarlas,
por ejemplo:

Me gustaría que el nombre de cada imagen se transformara en la siguiente fórmula

tick.png  -->> <image src="tick.png" />

Gracias

Respuesta1

Lo que te sugiero que hagas es escribir un sencilloarchivo por lotesque procesa archivos en el directorio y los genera en el formato dado.

Por ejemplo, cree un archivo run.baty escriba el siguiente comando en él:

FOR %%F IN (*.png) DO @echo ^<img src='%%F'/^>

Ahora puede ejecutar el comando en la línea de comandos ingresando:

run

Si desea guardar los resultados del proceso por lotes en un archivo (como imágenes.html), puede utilizar:

run > images.html

Si necesita agregar más comandos/pasos de procesamiento, simplemente edite el archivo por lotes.

Para obtener una buena referencia sobre comandos (como los que tienen bucles FOR), consulteProgramación CMDen Wikilibros. Tenga en cuenta que para tareas por lotes complicadas, el intérprete de línea de comandos puede no ser suficiente. Para una programación por lotes más compleja, le recomiendo que aprenda un lenguaje de programación real como Python.

Respuesta2

Ahí tienes:

for %f in (*.png) do echo ^<img src="%f" /^> >> myFileList.txt

Explicación:

for %f in (*.png) do <command>

Un bucle simple para todos los archivos del directorio actual que coincidan *.png.

echo ^<img src="%f" /^> >> myFileList.txt

Haga eco de la cadena en el archivo (redireccione la salida a través de >>, esto se agregará al archivo >y truncará el archivo). ^Es necesario escapar del <.

información relacionada