shift

배치 파일에서 일괄 처리 매개 변수 위치를 변경합니다.

Syntax

shift [/n <N>]

Parameters

Parameter Description
/n <N> N번째 인수에서 이동을 시작하도록 지정합니다. 여기서 N0에서 8 사이의 값입니다. 기본적으로 사용 하도록 설정 된 명령 확장 해야 합니다.
/? 명령 프롬프트에 도움말을 표시합니다.

Remarks

  • shift 명령은 각 매개변수를 이전 매개변수로 복사하여 %9%0 배치 매개변수의 값을 변경합니다(%1 값은 %0에 복사되고 %2 값은 %1에 복사되는 식입니다. 이 임의 개수의 매개 변수에서 동일한 작업을 수행 하는 배치 파일을 작성할 때 유용 합니다.

  • 명령 확장을 사용하도록 설정하면 shift 명령은 /n 명령줄 옵션을 지원합니다. /n 옵션은 N번째 인수에서 이동을 시작하도록 지정합니다. 여기서 N은 0에서 8 사이의 값입니다. 예를 들어, SHIFT /2%3%2로 이동하고, %4%3로 이동하고, %0%1 는 영향을 받지 않습니다. 기본적으로 명령 확장을 사용 합니다.

  • shift 명령을 사용하여 10개 이상의 일괄처리 매개 변수를 허용할 수 있는 일괄처리 파일을 만들 수 있습니다. 명령줄에 10개 이상의 매개 변수를 지정하면 열 번째 매개 변수(%9) 뒤에 나타나는 매개 변수는 한 번에 하나씩 %9로 이동합니다.

  • shift 명령은 배치 매개변수에 %* 영향을 주지 않습니다.

  • 뒤로 이동 명령은 없습니다. shift 명령을 구현한 후에는 시프트 이전에 존재했던 일괄 처리 매개변수(%0)를 복구할 수 없습니다.

Examples

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