shift

Ändrar positionen för batchparametrar i en batchfil.

Syntax

shift [/n <N>]

Parameters

Parameter Description
/n <N> Anger att växlingen ska börja vid det n:te argumentet, där N är ett värde från 0 till 8. Kräver kommandotillägg, som är aktiverade som standard.
/? Visar hjälp i kommandotolken.

Remarks

  • Skiftkommandot ändrar värdena för gruppparametrarna %0 till och med%9 genom att kopiera varje parameter till den föregående – värdet för%1 kopieras till %0, värdet för%2 kopieras till %1och så vidare. Detta är användbart för att skriva en batchfil som utför samma åtgärd på valfritt antal parametrar.

  • Om kommandotillägg är aktiverade har skiftkommandot stöd för kommandoradsalternativet /n . Alternativet /n anger att växlingen ska börja vid det n:te argumentet, där N är ett värde från 0 till 8. Till exempel skulle SHIFT /2 växla %3 till %2, %4 till %3och så vidare, och lämna %0 och %1 opåverkade. Kommandotillägg är aktiverade som standard.

  • Du kan använda skiftkommandot för att skapa en kommandofil som kan acceptera fler än 10 batchparametrar. Om du anger fler än 10 parametrar på kommandoraden kommer de som visas efter den tionde (%9) att flyttas en i taget till %9.

  • Skiftkommandot har ingen effekt på batchparametern%*.

  • Det finns inget kommando för bakåtväxling . När du har implementerat skiftkommandot kan du inte återställa batchparametern (%0) som fanns före skiftet.

Examples

Om du vill använda en kommandofil som kallasMycopy.batför att kopiera en lista med filer till en viss katalog skriver du:

@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