Shift
Altera a posição de parâmetros em lotes de um arquivo em lotes.
Sintaxe
shift
Parâmetros
- nenhum
Comentários
- Usando a opção de linha de comando shift com extensões de comando
Quando as extensões de comando estão ativadas (isto é, o padrão), o comando shift dá suporte à opção de linha de comando /n, que informa ao comando para iniciar a alternância no argumento n, onde n pode ser um valor de zero a oito. Por exemplo,
SHIFT /2
alternaria %3 para %2, %4 para %3, e assim por diante, e deixaria %0 e %1 inalterados.
- Como funciona o comando shift
O comando shift altera os valores dos parâmetros em lotes de %0 a %9 copiando cada parâmetro para o anterior. Em outras palavras, o valor de %1 é copiado para %0, o valor de %2 é copiado para %1, e assim por diante. Isso é útil para gravar um arquivo em lotes que executa a mesma operação em qualquer número de parâmetros.
- Trabalhando com mais de dez parâmetros em lotes
Também é possível usar o comando shift para criar um arquivo em lotes que aceite mais de dez parâmetros em lotes. Se você especificar mais de dez parâmetros na linha de comando, aqueles que forem exibidos depois do décimo (%9) serão alternados, um por vez, para %9.
- Usando %* com o comando shift
Shift não tem nenhum efeito sobre o parâmetro em lotes %*.
- Desfazendo a alternância de parâmetros
Não existe um comando shift regressivo. Após executar o comando shift, você não poderá recuperar o primeiro parâmetro em lotes (%0) que existia antes da alternância.
Exemplos
O arquivo em lotes Minhacop.bat, a seguir, mostra como utilizar o comando shift com qualquer número de parâmetros em lotes. Ele copia uma lista de arquivos para uma pasta específica. Os parâmetros em lotes estão representados pelos argumentos de nome de arquivo e pasta.
@echo offrem Minhacop.bat copia qualquer número de arquivosrem para uma pasta.rem O comando utiliza a seguinte sintaxe:rem minhacop dir arq1 arq2 ... set todir=%1:getfileshiftif "%1"=="" goto endcopy %1 %todir%goto getfile:endset todir=echo All done
XOX