Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wijzigt u de positie van batchparameters in een batchbestand.
Syntax
shift [/n <N>]
Parameters
| Parameter | Description |
|---|---|
/n <N> |
Geeft aan dat moet beginnen met verschuiven bij het N-deargument, waarbij N een waarde van 0 tot 8 is. Vereist opdrachtextensies, die standaard zijn ingeschakeld. |
| /? | Geeft hulp weer in de opdrachtprompt. |
Remarks
De opdracht shift wijzigt de waarden van de batchparameters die %0 door %9 door elke parameter naar de vorige te kopiëren: de waarde van %1 wordt gekopieerd naar %0, de waarde van %2 wordt gekopieerd naar %1, enzovoort. Dit is handig voor het schrijven van een batchbestand dat dezelfde bewerking uitvoert op een willekeurig aantal parameters.
Als opdrachtextensies zijn ingeschakeld, ondersteunt de opdracht shift de opdrachtregeloptie /n . De optie /n geeft aan dat moet beginnen met verschuiven bij het N-de argument, waarbij N een waarde van 0 tot 8 is. SHIFT /2 zou bijvoorbeeld %3 verschuiven naar %2, %4 naar %3, enzovoort, en %0 en %1 onaangetast laten. Opdrachtextensies zijn standaard ingeschakeld.
U kunt de opdracht shift gebruiken om een batchbestand te maken dat meer dan 10 batchparameters kan accepteren. Als u meer dan 10 parameters op de opdrachtregel opgeeft, worden de parameters die na de tiende (%9) verschijnen, één voor één verschoven naar %9.
Het shift-commando heeft geen effect op de %* batchparameter.
Er is geen achterwaarts shift-commando . Nadat u de opdracht shift hebt geïmplementeerd, kunt u de batchparameter (%0) die vóór de shift bestond, niet meer herstellen.
Examples
Als u een batchbestand, Mycopy.batgenaamd, wilt gebruiken om een lijst met bestanden naar een specifieke map te kopiëren, typt u:
@echo off
rem MYCOPY.BAT copies any number of files
rem to a directory.
rem The command uses the following syntax:
rem mycopy dir file1 file2 ...
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo All done