變更批次參數在批處理檔中的位置。
語法
shift [/n <N>]
參數
參數 | 說明 |
---|---|
/n <N> |
指定從 N自變數開始移位,其中 N 是任何從 0 到 8的值。 需要預設啟用的命令延伸模組。 |
? | 在命令提示字元中顯示說明。 |
備註
移位 命令會藉由將每個參數複製到上一個參數,將每個參數複製到上一個參數,變更批次參數的值 %0%9,%1 的值會複製到 %0、%2 的值複製到 %1等等。 這適用於撰寫在任意數目參數上執行相同作業的批處理檔。
如果啟用命令延伸模組,shift 命令支援 /n 命令行選項。 /n 選項會指定從 Nth 自變數開始移位,其中 N 是 0 到 8 的任何值。 例如,SHIFT /2 會將 %3 移轉到 %2、%4%3等等,並讓 %0 和 %1 不受影響。 預設會啟用命令延伸模組。
您可以使用 shift 命令來建立可接受超過 10 個批次參數的批處理檔。 如果您在命令列上指定 10 個以上的參數,則出現在第十個 (%9) 之後的參數會一次移轉至 %9。
shift 命令不會影響 %* 批次參數。
沒有向後 shift 命令。 在實作 班次 命令之後,您無法復原班次前存在的批次參數(%0)。
範例
若要使用名為 Mycopy.bat的批次處理檔,將檔案清單複製到特定目錄,請輸入:
@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