deslocar

Altera a posição dos parâmetros do lote em um arquivo em lote.

Syntax

shift [/n <N>]

Parameters

Parameter Description
/n <N> Especifica para iniciar o deslocamento no Nésimo argumento, onde N é qualquer valor de 0 a 8. Requer extensões de comando, que são habilitadas por padrão.
/? Exibe a ajuda no prompt de comando.

Remarks

  • O comando shift altera os valores dos parâmetros de lote %0 a %9 copiando cada parâmetro para o anterior — o valor de %1 é copiado para %0, o valor de %2 é copiado para %1e assim por diante. Isso é útil para gravar um arquivo em lote que executa a mesma operação em qualquer número de parâmetros.

  • Se as extensões de comando estiverem habilitadas, o comando shift dará suporte à opção de linha de comando /n . A opção /n especifica para começar a mudar no enésimo argumento, onde N é qualquer valor de 0 a 8. Por exemplo, SHIFT /2 mudaria %3 para %2, %4 para %3e assim por diante, e deixaria %0 e %1 não afetados. As extensões de comando são habilitadas por padrão.

  • Você pode usar o comando shift para criar um arquivo em lote que pode aceitar mais de 10 parâmetros em lote. Se você especificar mais de 10 parâmetros na linha de comando, aqueles que aparecerem após o décimo (%9) serão deslocados um de cada vez para %9.

  • O comando shift não tem efeito sobre o %* parâmetro batch.

  • Não há comando de deslocamento para trás. Depois de implementar o comando shift , você não poderá recuperar o parâmetro batch (%0) que existia antes do shift.

Examples

Para usar um arquivo em lote, chamado Mycopy.bat, para copiar uma lista de arquivos para um diretório específico, digite:

@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