Questão Comando SHIFT não funciona em% *


Ao usar o SHIFT comando para deslocar os parâmetros de script uma posição para baixo, eu posso ver os valores mudam por ecoando o %1 parâmetro:

:: scr1.bat
echo %*
echo %1
shift
echo %1

Então:

> scr1.bat aa bb cc
aa bb cc
aa
bb

No entanto, se eu fizer eco da lista de parâmetros após o turno, não parece mudar:

:: scr2.bat
echo %*
shift
echo %*

Então:

> scr2.bat aa bb cc
aa bb cc
aa bb cc

Por que não SHIFT trabalhar na lista de parâmetros completa?


1


origem




Respostas:


OK, encontrado no Documento MS, na seção de observações:

  • Usando% * com deslocamento

A mudança não afeta o parâmetro em lote% *.

Agora é só deixar de se perguntar por quê?


0