Share via


shift

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 mudar no argumento N, em que 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.

Comentários

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

  • Se as extensões de comando estiverem habilitadas, o comando shift terá suporte para a opção da linha de comando /n. A opção /n especifica para começar a alterar no argumento N, em que N é qualquer valor de 0 a 8. Por exemplo, SHIFT /2 mudaria %3 para %2, %4 para %3 etc., sem afetar %0 e %1. As extensões de comando são ativadas por padrão.

  • Você pode usar o comando shift para criar um arquivo em lote que pode aceitar mais de 10 parâmetros de 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 nenhum efeito sobre o parâmetro de lote %*.

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

Exemplos

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