Tratando de archivos de proceso por lotes utilizando una. No hay salida, no pasa nada
-
27-09-2019 - |
Pregunta
Estoy tratando de pasar archivos de uno en uno (tengo de poner los puntos que desde ejecutable sólo acepta un archivo a la vez). Por lo tanto, en mi lote He follwoing:
FOR /F %file IN ('dir /b /s *.css') DO CALL myExecutable.exe %file
Me debería ver a cabo en archivos mismo directorio pero no pasa nada, no hay errores se muestran tampoco. Me estoy perdiendo algo aquí?
Solución
Hay varios errores en su ejemplo:
- nombre del parámetro
FOR
es una sola letra única -
CALL
se utiliza para llamar a otro archivo por lotes o un subprograma en el archivo por lotes existentes, no ejecutables - el parámetro
FOR
debe ser referenciado con dos%, cuando en archivo por lotes - es necesario utilizar un delimitador no-espacio, si el directorio de ejecutar este comando en cualquier subdirectorio o, o si alguno de los archivos tiene un espacio en el nombre
Con esto en mente, aquí está el comando adecuado que debe utilizar:
for /f "usebackq delims=|" %%f in (`dir /b /s *.css`) do myexecutable.exe "%%f"
A continuación de mi respuesta a una pregunta tan similares, donde doy más detalles sobre el uso de FOR
para procesar todos los archivos en un directorio.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow