共用方式為


轉變

變更批次參數在批處理檔中的位置。

語法

shift [/n <N>]

參數

參數 說明
/n <N> 指定從 N自變數開始移位,其中 N 是任何從 08的值。 需要預設啟用的命令延伸模組。
? 在命令提示字元中顯示說明。

備註

  • 移位 命令會藉由將每個參數複製到上一個參數,將每個參數複製到上一個參數,變更批次參數的值 %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