Sim, você pode fazer isso facilmente.
Os arquivos de lote têm acesso a todos os parâmetros que são fornecidos após seu nome. Os primeiros 9 são acessíveis através de% 1,% 2,% 3,% 4 ...% 9 e você pode usar o comando shift
para mudar tudo, obtendo acesso aos parâmetros 10 e mais.
Agora, no seu exemplo, apenas o primeiro parâmetro é usado, mas agora você sabe que pode usar outros parâmetros também.
O próximo passo é pular no seu arquivo de lote. Você pode usar os comandos IF
e GOTO
junto com :labels
para fazer exatamente isso.
Uma instrução IF é assim:
IF "%1"=="clean" GOTO clean
Você pode colocar todas as suas declarações if uma na outra.
No final das instruções if, você coloca um aviso de que nenhum parâmetro válido foi inserido:
echo No parameter or an invalid parameter was used.
echo.
echo Please use make with any of the following parameters
echo clean - remove the nod_modules folder.
echo install - execute npm install.
... etc.
Depois de ter a página de ajuda trabalhada, você precisa pular para o final. A lógica Busines sugere usar um rótulo END e pular para lá, então você pode colocar um comando no final, se precisar, que funcionará em todos os lugares, como pausa.
Então você colocaria um:
goto end
Agora precisamos adicionar todas as funções.
Você começa com um marcador.
:clean
E então você adiciona seu comando
rmdir node_modules
seguido por um salto para o final do script, porque não queremos que os outros comandos também sejam executados.
Você pode até ficar mais chique e usar o segundo parâmetro para especificar qual pasta será removida. Por exemplo:
rmdir %2
Você agora executaria make clean node_modules
para remover essa pasta.
goto end
Então, sua pequena função é assim:
:clean
rmdir node_modules
goto end
Depois de listar todas as funções, você obviamente terá que finalizar também:
:end
Qualquer comando opcional no final pode ser colocado depois.