Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Ändrar positionen för batchparametrar i en batchfil.
Syntax
shift [/n <N>]
Parameterar
Parameter | Beskrivning |
---|---|
/n <N> |
Anger att du ska börja skifta vid argumentet Nth, 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. |
Anmärkningar
Kommandot shift ändrar värdena för batchparametrarna %0 genom %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 kommandot shift stöd för kommandoradsalternativet /n. Alternativet /n anger att du ska börja skifta vid argumentet Nth, där N är ett värde från 0 till 8. Till exempel skulle SKIFT /2 flytta %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 kommandot shift för att skapa en batchfil som kan acceptera fler än 10 batchparametrar. Om du anger fler än 10 parametrar på kommandoraden flyttas de som visas efter den tionde (%9) en i taget till %9.
Kommandot shift påverkar inte %* batchparametern.
Det finns inga bakåtriktade shift kommando. När du har implementerat kommandot shift kan du inte återställa batchparametern (%0) som fanns före skiftet.
Exempel
Om du vill använda en batchfil med namnet Mycopy.bat, för att kopiera en lista med filer till en specifik 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