Supongo que esto es bastante fácil de hacer, pero no tengo experiencia con las utilidades de línea de comandos de Windows. Básicamente, necesito iterar sobre todos los archivos en un directorio (excelente si puede hacer subdirectorios, pero puedo ejecutarlo en cada uno de los 5 directorios si es necesario), obtener el nombre como una variable y hacer que se ejecute
"C:\Program Files\ImageMagick-6.7.6-Q16\convert.exe" -compress LZW
-colorspace Gray -colors 32 file_var file_var
Vi dinámicamente nombrar archivos en un símbolo del sistema para el bucle . ¿Podría usar eso (intercambiando el SET ... con el comando anterior)? El espacio en la computadora en cuestión es más que limitado, por lo que no puedo realizar una copia de seguridad antes de ejecutar esto en esta etapa (mal, lo sé).
windows
command-line
imagemagick
Robert
fuente
fuente
"%%f" "%%f"
) solo colocará el nombre de archivo (con una ruta totalmente calificada) dos veces. Probablemente quiera usar algo como"%%f" "%%~dpnf.gif"
cambiar la extensión del archivo de salida.Respuestas:
Extraño, hubo una respuesta que tuvo la parte recursiva.
Bueno, según Cómo recorrer los archivos que coinciden con comodines en Batch File , pude lograr esto. Así es como se realizó:
fuente
Abra PowerShell
Get-ChildItem recupera una lista de archivos como objetos del subdirectorio actual. "-recurse" incluirá subdirectorios. Esto lo coloca en una matriz $ Files.
El ciclo foreach recorre cada archivo y llama al bloc de notas con el argumento de la línea de comandos de la ruta completa del nombre de archivo a cada archivo.
PRECAUCIÓN: pruebe el código anterior en un directorio con algunos archivos de texto pequeños, ya que abrirá una instancia de Bloc de notas para cada archivo.
Eso debería darle una idea de cómo hacer lo que está buscando hacer.
fuente