UMSCHALT-Befehl funktioniert nicht bei% *

612
ysap

Wenn Sie den SHIFTBefehl verwenden, um die Skriptparameter um eine Position nach unten zu verschieben, kann ich die Werte verschieben, indem Sie den %1Parameter wiederholen :

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

Dann:

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

Wenn ich jedoch die Parameterliste nach der Verschiebung wiederhole, scheint sich dies nicht zu ändern:

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

Dann:

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

Warum funktioniert SHIFTdie vollständige Parameterliste nicht?

1

1 Antwort auf die Frage

0
ysap

OK, im MS-Dokument im Abschnitt "Anmerkungen" gefunden:

  • % * Mit der Schicht verwenden

Die Verschiebung hat keinen Einfluss auf den% * Batch-Parameter.

Jetzt fragt man sich nur, warum?