Resposta
O operador% transmite qualquer argumento de linha de comando dado pelo arquivo .cmd ao seu script.
% 0 significa: o nome do arquivo do próprio script % 1 até% 9 são 9 argumentos a seguir.
% * significa que todos os argumentos foram passados em ordem de aparição. Isso é basicamente usado quando você quer executar vários comandos antes de executar o comando principal com todos os parâmetros.
Exemplos
Vamos supor que seu arquivo cmd é chamado test.cmd e está localizado em c: \ temp.
O script está escrito da seguinte forma:
echo This script is: %0
echo Parameter 1 given is: %1
echo Parameters 2 and 3 are: %2 %3
echo.
echo All parameters are: %*
Você digita o seguinte comando na linha de comando:
C:\TEMP>test 1 2 3
A saída na tela será:
This script is: C:\TEMP\test.cmd
Parameter 1 given is: 1
Parameters 2 and 3 are: 2 3
All parameters are: 1 2 3
C:\TEMP>_