SHIFT
Muda a posição de parâmetros substituíveis em um arquivo de lote.
Sintaxe :
SHIFT
Exemplo :
O arquivo de lote abaixo, MINCOPIA.BAT, mostra como usar o comando SHIFT com qualquer número de parâmetros. Ele copia uma lista de arquivos para um diretório específico. Os parâmetros são o nome do diretório seguido de qualquer número de nomes-de-arquivo.
@echo off
rem MINCOPIA.BAT copia qualquer quantidade de arquivos
rem para um diretório.
rem O comando usa a seguinte sintaxe:
rem mincopia dir arquivo1 arquivo2 ...
set todir=%1
:obtemarquivo
shift
if "%1"=="" goto fim
copy %1 %todir%
goto obtemarquivo
:fim
set todir=
echo Operação terminada
Observações :
Como funciona o comando SHIFT
O comando SHIFT muda os valores dos parâmetros substituíveis %0 a %9 copiando cada parâmetro no anterior. Ou seja, o valor de %1 ‚ copiado em %0, o valor de %2 ‚ copiado em %1, e assim por diante. É aconselhável para escrever arquivos de lote que executam a mesma operação em qualquer número de parâmetros.
Trabalhando com mais de 10 parâmetros na linha de comando :
O comando SHIFT também pode ser usado para criar um arquivo de lote capaz de aceitar mais de 10 parâmetros. Se você especificar mais de 10 parâmetro na linha de comando, os que aparecerem depois do décimo parâmetro (%9) serão substituirão um ao outro, um a um, na posição %9.
Voltando atrás na substituição de parâmetros :
Não há volta atrás para o comando SHIFT. Uma vez executado, não é possível recuperar o primeiro parâmetro (%0) existente antes da substituição.