El comando: "CALL" está activado Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponible
Los ejemplos del comando "CALL"
El
`CALL`El comando en el símbolo del sistema de Windows se utiliza para iniciar la ejecución de otro script por lotes dentro de un script por lotes. A continuación se muestran algunos ejemplos con comentarios:
Ejemplo 1: llamada simple a otro script por lotes:
CALL otro_guion.bat
Descripción: Este comando llama al script por lotes
`otro_guion.bat`en. El
`CALL`El comando se utiliza para garantizar que el control regrese al script original una vez que se complete el script llamado.
Ejemplo 2: Pasar parámetros al script llamado:
CALL otro_guion.bat Parameter1 Parameter2
Descripción: Los parámetros están aquí
`Parameter1`y
`Parameter2`pasado al script por lotes llamado. Dentro
`otro_guion.bat`puede utilizar estos parámetros
`%1`,
`%2`, etc. se pueden recuperar.
Ejemplo 3: Uso de`%*`para todos los parámetros pasados:
CALL otro_guion.bat %*
Descripción:*`%`representa todos los parámetros pasados. Este comando llama
`otro_guion.bat`y le pasa todos los parámetros que se pasaron al script original.
Ejemplo 4: Verifique el valor de retorno del script llamado:
CALL otro_guion.bat
IF ERRORLEVEL 1 (
ECHO El script llamado devolvió un error..
) ELSE (
ECHO El script llamado se ejecutó exitosamente.
)
Descripción: El script por lotes llamado está aquí
`otro_guion.bat`ejecutado. Luego con
`ERRORLEVEL`comprueba si el script devolvió un error.
Ejemplo 5: Uso de`GOTO`después de la llamada:
CALL otro_guion.bat
GOTO Continuar
:Continuar
ECHO El script fue llamado exitosamente..
Descripción: Aquí está el script por lotes
`otro_guion.bat`llamado, y después de la llamada, la ejecución se convierte en la etiqueta de salto
`Continuar`reenviado.
El
`CALL`El comando es particularmente útil cuando desea llamar a otro script desde un script por lotes y asegurarse de que la ejecución regrese al script original. Esto es importante para continuar con el script original después de llamar al otro script.
"CALL" Extracto de la ayuda de Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
Llama a un archivo por lotes desde otro.
CALL [unidad:][ruta]archivo [parámetros]
parámetros Especifica cualquier información de la lista de
comandos que
necesita el programa por lotes.
Si las extensiones de comando están habilitadas CALL cambia así:
El comando CALL acepta ahora etiquetas como el destino de CALL.
La sintaxis es:
CALL : argumentos de etiqueta
Se ha creado un nuevo contexto de archivo por lotes con los
argumentos
especificados y el control se pasa a la instrucción después de
especificar
la etiqueta. Debe "salir" dos veces al pasar dos veces al final
del archivo de comandos por lotes. La primera vez que lea el
final, el
control volverá a la instrucción que sigue a CALL. La segunda vez
se cerrará
el archivo de comandos por lotes. Escriba GOTO /? para obtener
una descripción
de GOTO: la extensión EOF le permitirá "regresar" del archivo de
proceso
por lotes.
Además, la expansión de las referencias de argumento del archivo
de comandos
por lotes (%0, %1, etc.) se ha cambiado así:
%* en un comando de secuencias por lotes se refiere a todos los
argumentos
(por ej. %1 %2 %3 %4 %5 ...)
La sustitución de los parámetros del archivo por lotes (%n) ha
sido
ampliada. Ahora puede usar la siguiente sintaxis opcional:
%~1 - expande %1 quitando las comillas (")que
pudiera haber
%~f1 - expande %1 a un nombre completo de ruta
%~d1 - expande %1 sólo a una letra de unidad
%~p1 - expande %1 sólo a una ruta
%~n1 - expande %1 sólo a un nombre de archivo
%~x1 - expande %1 sólo a una extensión de archivo
%~s1 - expande la ruta que contiene sólo nombres
cortos
%~a1 - expande %1 a los atributos del archivo
%~t1 - expande %1 a la fecha/hora del archivo
%~z1 - expande %1 al tamaño del archivo
%~$PATH: 1 - busca los directorios en la lista de la
RUTA de la
variable de entorno y expande %1 al nombre
totalmente
calificado del primero que encontró. Si el
nombre de la
variable de entorno no se ha definido o no
se ha
encontrado el archivo en la búsqueda,
entonces este
modificador se transforma en una cadena
vacía.
Los modificadores se pueden combinar para obtener resultados
compuestos:
%~dp1 - expande %1 sólo a una letra de unidad y
ruta
%~nx1 - expande %1 sólo a un nombre de archivo y
extensión
%~dp$PATH:1 - busca %1 en los directorios listados en la
variable de
entorno PATH y se expande a la letra de
unidad y ruta
que se encontró primero.
%~ftza1 - expande %1 a DIR como una línea de salida
En el ejemplo anterior %1 y PATH pueden ser reemplazados por
otros valores
válidos. Un número de argumento válido termina la sintaxis %~. Es
posible
que los modificadores %~ no se puedan usar con %*
Información importante, consejos para el comando "CALL"
Sí, hay algunos puntos y consideraciones importantes que debes tener en cuenta al realizar la
`CALL`comando en el símbolo del sistema de Windows:
1.
Usar con scripts por lotes: El
`CALL`El comando se utiliza normalmente para llamar a otro script por lotes dentro de un script por lotes. Tenga en cuenta que puede que no sea necesario cuando se ejecutan otros tipos de archivos.
2.
Verifique el valor de retorno: Si el script por lotes llamado devuelve un valor de retorno, puede hacerlo con
`ERRORLEVEL`controlar. Tenga en cuenta que
`ERRORLEVEL`solo refleja el valor de retorno del último comando ejecutado.
CALL otro_guion.bat
IF ERRORLEVEL 1 (
ECHO El script llamado devolvió un error..
) ELSE (
ECHO El script llamado se ejecutó exitosamente.
)
3.
Uso correcto de parámetros: Preste atención al uso correcto de los parámetros al pasar parámetros al script por lotes llamado. Los parámetros se pueden utilizar en el script llamado.
`%1`,
`%2`, etc. se pueden recuperar.
CALL otro_guion.bat Parameter1 Parameter2
4.
Sintaxis y espacios: Asegúrate de que la sintaxis sea correcta y que no haya espacios innecesarios. Esto puede provocar errores.
5.
Consideraciones de seguridad: Al usar
`CALL`En los scripts que contienen parámetros, es importante asegurarse de que los parámetros pasados se validen y procesen adecuadamente para minimizar los riesgos de seguridad.
6.
Monitoreo y registro: Al desarrollar scripts por lotes que llaman a otros scripts, a menudo es recomendable utilizar métodos de monitoreo y registro para monitorear la ejecución y los posibles errores.
7.
Evite bucles infinitos: Tenga cuidado de no crear accidentalmente bucles infinitos llamando scripts por lotes en un bucle. Esto podría dar lugar a que los scripts se llamen a sí mismos una y otra vez.
8.
Diferencias específicas de la versión: Tenga en cuenta que la funcionalidad del
`CALL`El comando puede variar según la versión de Windows. Es recomendable consultar la documentación de su versión específica de Windows.
Tenga en cuenta estas consideraciones para garantizar el uso de
`CALL`de forma adecuada y segura en sus scripts por lotes.