Delen via


shift

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