batch-file-es Windows
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
call :stuff 123 var1
rem More code...
:stuff <arg1> <arg2>
setlocal
set importantvar=%~1
echo Writing some stuff into %~2!
endlocal
set %~2=some stuff
setlocal
set importantvar=junk
endlocal
goto :eof
Esto utiliza la función básica, setlocal y endlocal y argumentos para crear una pequeña función
extraña.
Funciones anónimas en archivos por lotes.
La técnica de funciones anónimas utiliza el hecho de que el comando CALL usa GOTO internamente
cuando se llama a la subrutina y se abusa de la impresión de mensajes de ayuda con la
expansión doble variable :
@echo off
setlocal
set "anonymous=/?"
call :%%anonymous%% a b c 3>&1 >nul
if "%0" == ":%anonymous%" (
echo(
echo Anonymous call:
echo %%1=%1 %%2=%2 %%3=%3
exit /b 0
)>&3
Puede llamar a una función anónima solo si se define después del contexto de CALL (o después de
terminar los paréntesis si la CALL se ejecuta entre paréntesis). No se puede llamar desde un script
externo , pero es una llamada de función más lenta de lo normal.
Llamando funciones desde otro archivo por lotes
Permite tener el siguiente archivo llamado library.cmd :
@echo off
echo -/-/- Batch Functions Library -/-/-
:function1
echo argument1 - %1
goto :eof
Para ejecutar solo : function1 sin el código del resto del archivo, debe poner una etiqueta :
function1 en el llamador y usarlo así:
https://riptutorial.com/es/home 50