desplazamiento

Cambia la posición de los parámetros por lotes en un archivo por lotes.

Sintaxis

shift [/n <N>]

Parámetros

Parámetro Descripción
/n <N> Especifica que se inicie el cambio en el argumento N, donde N es cualquier valor entre 0 y 8. Requiere extensiones de comando, que están habilitadas de forma predeterminada.
/? Muestra la ayuda en el símbolo del sistema.

Comentarios

  • El comando shift cambia los valores de los parámetros por lotes %0 a %9 copiando cada parámetro en el anterior; el valor de %1 se copia en %0, el valor de %2 se copia en %1, y así sucesivamente. Esto resulta útil para escribir un archivo por lotes que realice la misma operación en cualquier número de parámetros.

  • Si las extensiones de comandos están habilitadas, el comando shift admite la opción de línea de comandos /n. La opción /n especifica que empiece el cambio en el argumento número N, donde N es cualquier valor entre 0 y 8. Por ejemplo, SHIFT/2 cambiaría %3 a %2, %4 a %3, etc., y dejaría %0 y %1 sin cambios. Las extensiones del comando están habilitadas de manera predeterminada.

  • Puede usar el comando shift para crear un archivo por lotes que pueda aceptar más de 10 parámetros de lote. Si especifica más de 10 parámetros en la línea de comandos, los que aparecen después del décimo (%9) se desplazarán uno a uno al %9.

  • El comando shift no tiene ningún efecto en el parámetro por lotes %*.

  • No hay ningún comando shift que funcione hacia atrás. Después de implementar el comando shift, no se puede recuperar el parámetro por lotes (%0) que existía antes del cambio.

Ejemplos

Para usar un archivo por lotes, denominado Mycopy.bat, para copiar una lista de archivos en un directorio específico, escriba:

@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