Necesito obtener el último argumento pasado al script de proceso por lotes de Windows, ¿cómo puedo hacer eso?Obtener el último argumento de línea de comando en el archivo de proceso por lotes de Windows
Respuesta
La forma más fácil y quizás más confiable Debería simplemente usar el propio análisis de cmd
para argumentos y shift
hasta que desaparezcan.
Dado que esto destruye el uso de %1
, etc Usted puede hacerlo de una subrutina:
@echo off
call :lastarg %*
echo Last argument: %LAST_ARG%
goto :eof
:lastarg
set "LAST_ARG=%~1"
shift
if not "%~1"=="" goto lastarg
goto :eof
Esto hará que el recuento de argumentos:
set count=0
for %%a in (%*) do set /a count+=1
Para obtener el último argumento real, que puede hacer
for %%a in (%*) do set last=%%a
Tenga en cuenta que esto va a fallar si la línea de comandos tiene comillas desequilibradas - la la línea de comando se vuelve a analizar por for
en lugar de utilizar directamente el análisis utilizado para %1
etc.
¿Por qué respondiste con el recuento de argumentos? Eso no fue lo que se preguntó. – Joey
- 1. Archivo por lotes de Windows: ¿PID del último proceso?
- 2. ¿Cómo establecer el directorio de trabajo de un comando en un archivo por lotes de Windows?
- 3. Retire primero y el último carácter de una cadena en un archivo por lotes de Windows
- 4. ¿Cómo obtener la fecha de hoy en el entorno de proceso por lotes de Windows?
- 5. Ejecutando cadena variable como comando en el proceso por lotes
- 6. ¿Eco cadena exacta en el archivo de proceso por lotes de Windows?
- 7. Ejecute el archivo por lotes como un servicio de Windows
- 8. Cómo obtener un archivo de proceso por lotes de Windows UNIVERSAL timestamp
- 9. Temporizador en el archivo por lotes de Windows
- 10. Archivos de proceso por lotes: número de argumentos de línea de comando
- 11. Reemplazo de la variable de bambú en el archivo de proceso por lotes
- 12. ¿Cómo obtener el PID del proceso recién iniciado desde un archivo por lotes?
- 13. Control de psftp en un archivo por lotes de Windows
- 14. ¿Comando inactivo en archivo por lotes?
- 15. Archivo de proceso por lotes de Windows - Concatene todos los archivos en los subdirectorios
- 16. Línea de comando Git en Windows
- 17. Invocar el archivo por lotes de Windows desde Linux
- 18. ¿Cómo obtener un archivo de proceso por lotes para manejar espacios en nombres de archivo?
- 19. Redirigir la salida a un argumento de línea de comando de otro comando en Windows
- 20. Redirigir argumentos pasados a un archivo por lotes de Windows
- 21. Crear un archivo por lotes con el comando "IF"
- 22. Variable aleatoria que no cambia en el ciclo "for" en el archivo de proceso por lotes de Windows
- 23. ¿Cómo ejecutar un comando de lotes de Windows recursivamente?
- 24. Cómo recorrer los archivos que coinciden con el comodín en el archivo de proceso por lotes
- 25. archivo por lotes de Windows operador &&
- 26. Comando de Windows para obtener el estado del servicio?
- 27. Comando Archivo por lotes PAUSA no funciona
- 28. obtener el último archivo de ftp
- 29. ¿Cómo obtener el segundo último argumento del script de shell?
- 30. Obtener el último comando de lote de directorio creado
Ver [aquí] (http://stackoverflow.com/questions/357315/get-list-of -passed-arguments-in-windows-batch-script-bat) –