Partilhar via


turno

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

Sintaxe

shift [/n <N>]

Parâmetros

Parâmetro Descrição
/n <N> Especifica para começar a deslocar no Nth 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.

Observações

  • O comando shift altera os valores dos parâmetros de lote %0 através %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 escrever um arquivo em lotes que executa a mesma operação em qualquer número de parâmetros.

  • Se as extensões de comando estiverem habilitadas, o comando shift suportará a opção de linha de comando /n. A opção /n especifica para começar a mudar no argumento N, 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 inalterados. As extensões de comando são ativadas por padrão.

  • Você pode usar o comando shift para criar um arquivo em lotes que possa aceitar mais de 10 parâmetros de lote. Se você especificar mais de 10 parâmetros na linha de comando, aqueles que aparecem 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á mudança de para trás comando. Depois de implementar o comando shift, não é possível recuperar o parâmetro batch (%0) que existia antes do shift.

Exemplos

Para usar um arquivo em lotes, 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