En un archivo por lotes, ¿tengo que hacer (por ejemplo) lo siguiente?
@echo off
call other.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
windows
scripting
batch-file
Roger Lipscombe
fuente
fuente
Respuestas:
Los archivos por lotes de Windows (desde Windows XP, pero posiblemente antes) admiten la
%*
construcción, que evalúa todos los parámetros desde% 1 en adelante.Desafortunadamente, esto no respeta el
SHIFT
comando, por lo que lo siguiente no funcionará:Todavía pasará el primer parámetro al segundo archivo por lotes.
fuente
%*
conserva espacios en blanco / comillas.Puedes juntar todos los argumentos usando algo como:
Esto funciona independientemente de cuántos argumentos haya.
fuente
Si quiere omitir los primeros 3 parámetros, por ejemplo, y pasar el resto:
Puede haber problemas con las comillas en los parámetros.
felicitaciones a Patrick Cuff, /programming/382587/how-to-get-batch-file-parameters-from-nth-position-on
fuente
Ellos si.
Puede escribir su ejemplo de la siguiente manera:
Además: shift es compatible con Windows ... Mira esto .
Pero, de hecho, ese último enlace confirma que shift no funciona en combinación con% *:
fuente
fuente
call other.bat
con los parámetros dados :( ¿Dónde escribo "other.bat"? ¿Es posible eliminar "Índice (s) de parámetros para extraer "consulta? Además,cls
no es necesario en la solución final.