Eu tenho .bat código como este. Por exemplo:
@ECHO OFF
setlocal EnableDelayedExpansion
call :setESC
set arg1=%1
set "noArgs=true"
for %%a in (%*) do (
if not %%a == "" (
:: if it is not empty arguments.
set "noArgs=false"
)
)
if "%noArgs%" == "true" (
if "%arg1%" == "" (
:: it is empty args AND argument1 (/arg) is empty
:: set default argument here. <-----------
set "%%1=build"
)
)
:: for debugging.
echo all args: %* :end.
:: run external command (gulp).
gulp --cwd "/my/project" %*
gulpbat.bat
Da CLI, se eu digitar o comando gulpbat build
, ele será chamado para gulp build
. Mas se eu chamar gulpbat
, será resposta Task neverdefined: default .
Gostaria de adicionar a tarefa padrão build
se estiver faltando na linha de comando e será usada %*
automaticamente.
Eu tentei estes, mas falhei.
set "%1=build" :: error: The syntax of the command is incorrect.
set "%~1=build" :: error: The syntax of the command is incorrect.
set "%%1=build" :: not working in %*