Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cambia la posición de los parámetros por lotes en un archivo por lotes.
Syntax
shift [/n <N>]
Parameters
| Parameter | Description |
|---|---|
/n <N> |
Especifica que se inicie el desplazamiento en el Nésimo argumento, donde N es cualquier valor de 0 a 8. Requiere extensiones de comando, que están habilitadas de forma predeterminada. |
| /? | Muestra ayuda en el símbolo del sistema. |
Remarks
El comando shift cambia los valores de los parámetros de lote %0 a través de%9 copiando cada parámetro en el anterior: el valor de %1 se copia en %0, el valor de %2 se copia en %1, etc. 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 comando están habilitadas, el comando shift admite la opción de línea de comandos /n . La opción /n especifica que se inicie el desplazamiento en el enésimo argumento, donde N es cualquier valor de 0 a 8. Por ejemplo, MAYÚS /2 cambiaría %3a %2, %4 a %3, y así sucesivamente, y dejaría %0 y %1 no afectados. Las extensiones de comandos están habilitadas de forma predeterminada.
Puede utilizar el comando shift para crear un archivo por lotes que pueda aceptar más de 10 parámetros por lotes. Si especifica más de 10 parámetros en la línea de comandos, los que aparecen después de la décima (%9) se desplazarán de uno en uno a %9.
El comando shift no tiene ningún efecto en el %* parámetro batch.
No hay ningún comando de desplazamiento hacia atrás. Después de implementar el comando shift , no puede recuperar el parámetro batch (%0) que existía antes del cambio.
Examples
Para usar un archivo por lotes, llamado 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