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.
Inicia una nueva instancia del intérprete de comandos, cmd.exe. Si se usa sin parámetros, cmd
muestra la versión y la información de copyright del sistema operativo.
Nota:
Se recomienda a los usuarios que buscan funcionalidades más avanzadas explorar PowerShell para mejorar el scripting y la automatización.
Sintaxis
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Parámetros
Parámetro | Descripción |
---|---|
/c | Lleva a cabo el comando especificado por <string> y, a continuación, sale del procesador de comandos. |
/k | Lleva a cabo el comando especificado por <string> y mantiene el procesador de comandos en ejecución. |
/s | Cuando se usa con /c o /k , desencadena reglas especiales que no son de análisis que quitan las comillas primera y última (" ) alrededor <string> del pero dejan sin cambios el resto del comando. |
/q | Desactiva el eco. |
/d | Deshabilita la ejecución de comandos AutoRun. |
/un | Da formato a la salida del comando como American National Standards Institute (ANSI). |
/U | Da formato a la salida del comando como Unicode. |
/t:{<b><f> | <f> } |
Establece los colores de fondo (b) y primer plano (f). |
/e:on | Habilita las extensiones de comandos. |
/e:off | Deshabilita las extensiones de comandos. |
/f:on | Habilita la finalización del nombre de archivo y del directorio. |
/f:off | Deshabilita la finalización del nombre de archivo y directorio. |
/v:on | Habilita la expansión de variables de entorno retrasadas. |
/v:off | Deshabilita la expansión de variables de entorno retrasadas. |
<string> |
Especifica el comando que desea llevar a cabo. |
/? | Muestra ayuda en el símbolo del sistema. |
En la tabla siguiente se enumeran los dígitos hexadecimales válidos que puede usar como valores para <b>
y <f>
:
Importancia | Color |
---|---|
0 | Negro |
1 | Azul |
2 | Verde |
3 | Aguamarina |
4 | Rojo |
5 | Púrpura |
6 | Amarillo |
7 | Blanco |
8 | Gris |
9 | Azul claro |
un | Verde claro |
b | Aguamarina ligera |
c | Rojo claro |
d | Púrpura claro |
e | Amarillo claro |
f | Blanco brillante |
Observaciones
Para redirigir la salida del comando a la entrada de otro comando, use el operador de canalización (
|
). Por ejemplo:<command1> | <command2>
El operador de canalización doble (
||
) se usa para ejecutar el siguiente comando solo si se produce un error en el comando anterior. En el escenario dado,command2
solo se ejecuta sicommand1
se produce un error. Por ejemplo:<command1> || <command2>
Para redirigir la salida del comando a un archivo, use el carácter de corchete
>
angular mayor que . Por ejemplo:<command1> > <file1.txt>
Para agrupar o anidar varios comandos, use
&
. Por ejemplo:<command1> & <command2>
Para usar varios comandos para
<string>
, separe mediante el separador&&
de comandos . Por ejemplo:<command1> && <command2> && <command3>
Nota:
Cuando se usa
&&
, el comando siguiente&&
solo se ejecuta si el comando anterior se completa correctamente.Cmd
ejecuta el primer comando y continúa con el siguiente solo si el comando anterior se realizó correctamente. De lo contrario, si se produce un error en el comando anterior, no se ejecutarán los comandos posteriores.Los paréntesis y , la canalización
&
|
y los paréntesis son caracteres( )
especiales que deben ir precedidos por el carácter^
de escape o las comillas al pasarlos como argumentos.Si un comando completa correctamente una operación, devuelve un código de salida de cero (0) o ningún código de salida.
Si la ruta de acceso del directorio, los archivos o cualquier información que proporcione contiene espacios, debe usar comillas dobles (
" "
) alrededor del texto, como"Computer Name"
. Por ejemplo:mkdir Test && mkdir "Test 2" && move "Test 2" Test
Debe usar comillas alrededor de los siguientes caracteres especiales: & <> [ ] | { } ^ = ; ! ' + , ' ~ [espacio en blanco].
Si especifica
/c
o , los/k
procesos, el resto decmd
y las comillas solo se conservan si se cumplen todas<string>
las condiciones siguientes:- Tampoco usa
/s
. - Usa exactamente un conjunto de comillas.
- No se usan caracteres especiales entre comillas, por ejemplo: & <> ( ) @ ^ |.
- Use uno o varios caracteres de espacio en blanco entre comillas.
- Entre
<string>
comillas es el nombre de un archivo ejecutable.
Si no se cumplen las condiciones anteriores,
<string>
se procesa examinando el primer carácter para comprobar si es una comilla de apertura. Si el primer carácter es una comilla de apertura, se quita junto con la comilla de cierre. Se conserva cualquier texto que siga las comillas de cierre.- Tampoco usa
Si no especifica
/d
,cmd
busca las siguientes subclaves del Registro:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
Si hay una o ambas subclaves del Registro, se ejecutan antes de todas las demás variables.
Puede deshabilitar extensiones de comandos para un proceso determinado mediante
/e:off
. Puede habilitar o deshabilitar extensiones para todas lascmd
opciones de línea de comandos en un equipo o sesión de usuario estableciendo los siguientes valores de REG_DWORD :HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
Establezca el valor de REG_DWORD en 0×1 (habilitado) o 0×0 (deshabilitado) en el Registro mediante Regedit.exe. La configuración especificada por el usuario tiene prioridad sobre la configuración del equipo y las opciones de línea de comandos tienen prioridad sobre la configuración del Registro.
Precaución
la modificación incorrecta del Registro puede dañar gravemente el sistema. Antes de realizar cambios en el Registro, debe hacer una copia de seguridad de los datos de valor guardados en el equipo.
Al habilitar extensiones de comandos, se ven afectados los siguientes comandos:
assoc
call
-
chdir
(cd
) color
-
del
(erase
) endlocal
for
ftype
goto
if
-
mkdir
(md
) popd
prompt
pushd
set
setlocal
shift
-
start
(también incluye cambios en los procesos de comandos externos)
Si habilita la expansión de variables de entorno retrasadas, puede usar el carácter de signo de exclamación (
!
) para sustituir el valor de una variable de entorno en tiempo de ejecución.La finalización del nombre de archivo y directorio no está habilitada de forma predeterminada. Puede habilitar o deshabilitar la finalización del nombre de archivo para un proceso determinado del
cmd
comando con/f:{on | off}
.Puede habilitar o deshabilitar la finalización de nombres de archivo y directorio para todos los procesos del
cmd
comando en un equipo o para una sesión de inicio de sesión de usuario estableciendo los siguientes valores de REG_DWORD :HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
Para establecer el valor de REG_DWORD , ejecute Regedit.exe y use el valor hexadecimal de un carácter de control para una función determinada (por ejemplo, 0×9 es TAB y 0×08 es BACKSPACE). Use el valor [0×20] para el espacio en blanco, ya que no es un carácter de control válido. La configuración especificada por el usuario tiene prioridad sobre la configuración del equipo y las opciones de línea de comandos tienen prioridad sobre la configuración del Registro.
Precaución
la modificación incorrecta del Registro puede dañar gravemente el sistema. Antes de realizar cambios en el Registro, debe hacer una copia de seguridad de los datos de valor guardados en el equipo.
Si habilita la finalización de nombres de archivo y directorio mediante
/f:on
, use CTRL+D para la finalización del nombre de directorio y CTRL+F para la finalización del nombre de archivo. La única diferencia entre las combinaciones de teclas CTRL+D y CTRL+F es que CTRL+D solo coincide con los nombres de directorio y CTRL+F coincide con los nombres de archivo y directorio. Si usa la finalización del nombre de archivo y directorio en los comandoscd
de directorio integrados ,md
ord
, se asume la finalización del directorio.Al presionar CTRL+D o CTRL+F , se procesa la finalización del nombre de archivo y directorio. Estas funciones de combinación de teclas anexan un carácter comodín a
<string>
si no está presente, crean una lista de rutas de acceso que coinciden y después muestran la primera ruta de acceso coincidente. Si ninguna de las rutas de acceso coincide, la función de finalización de nombres de archivo y directorio aparece y no cambia la presentación.- Para desplazarse por la lista de rutas de acceso coincidentes, presione CTRL+D o CTRL+F repetidamente.
- Para desplazarse por la lista hacia atrás, presione la tecla MAYÚS y CTRL+D o CTRL+F simultáneamente.
- Para descartar la lista guardada de rutas de acceso coincidentes y generar una nueva lista, edite
<string>
y presione CTRL+D o CTRL+F. - Si cambia entre CTRL+D y CTRL+F, se descarta la lista guardada de rutas de acceso coincidentes y se genera una nueva lista.
La finalización de nombres de archivo y directorio procesa correctamente los nombres de archivo que contienen espacios en blanco o caracteres especiales si coloca comillas alrededor de la ruta de acceso coincidente.
Si procesa la finalización del nombre de archivo y directorio desde ,
<string>
en el punto en<string>
el que se procesó la finalización, se descarta cualquier parte de la ruta de acceso a la derecha del cursor.
Uso de variables de entorno
El cmd
entorno del shell de comandos se define mediante variables que determinan el comportamiento del shell de comandos y del sistema operativo. Puede definir el comportamiento del entorno del shell de comandos o todo el entorno del sistema operativo mediante dos tipos de variables de entorno, sistema y local. Las variables de entorno del sistema definen el comportamiento del entorno del sistema operativo global. Las variables de entorno local definen el comportamiento del entorno de la instancia actual de cmd
.
Solo los usuarios con privilegios administrativos pueden cambiar las variables del sistema. Estas variables se usan con más frecuencia en scripts de inicio de sesión. Las variables de entorno local solo están disponibles cuando el usuario para el que se creó se inicia sesión en el equipo. Las variables locales establecidas en el subárbol de HKEY_CURRENT_USER solo son válidas para el usuario actual, pero definen el comportamiento del entorno del sistema operativo global.
En la lista siguiente se describen los distintos tipos de variables en orden descendente de precedencia:
- Variables del sistema integradas.
- Variables del sistema que se encuentran en el subárbol de HKEY_LOCAL_MACHINE .
- Variables locales que se encuentran en el subárbol de HKEY_CURRENT_USER .
- Todas las variables de entorno y las rutas de acceso establecidas en el archivo Autoexec.bat.
- Todas las variables de entorno y las rutas de acceso establecidas en un script de inicio de sesión (si están presentes).
- Variables usadas de forma interactiva en un script o un archivo por lotes.
En el shell de comandos, cada instancia de cmd
hereda el entorno de su aplicación primaria. Por lo tanto, puede cambiar las variables en el nuevo cmd
entorno sin afectar al entorno de la aplicación primaria.
Puede ver las variables de entorno en su entorno mediante la ejecución de uno de los siguientes comandos:
set
Get-ChildItem Env:
Establecimiento de variables de entorno
Para ver una variable, escriba:
set <VariableName>
Para agregar una variable, escriba:
set <VariableName>=<value>
Para eliminar una variable, escriba:
set <VariableName>=
Puede usar la mayoría de los caracteres como valores de variable, incluido el espacio en blanco. Si usa los caracteres especiales , , <|, &o ^, debe precederlos >con el carácter ^
de escape o comillas dobles. Si usa comillas dobles, se incluyen como parte del valor porque todo lo que sigue al signo igual se toma como valor. Tenga en cuenta los ejemplos siguientes:
Para crear el valor New&Name
de variable , escriba:
set <VariableName>=New^&Name
Para crear el valor "New&Name"
de variable , escriba:
set <VariableName>="New&Name"
Si escribe set <VariableName>=New&Name
(sin comillas dobles o de carat ^
) en el símbolo del sistema, puede aparecer el siguiente mensaje de error:
"'Name' is not recognized as an internal or external command, operable program or batch file."
Los nombres de variables no distinguen mayúsculas de minúsculas. Sin embargo, set
muestra la variable exactamente al escribirla. Puede combinar letras mayúsculas y minúsculas en los nombres de variable para que el código sea más legible, por ejemplo, UserName.
Nota:
- El tamaño máximo de variable de entorno individual es de 8192 bytes.
- El tamaño total máximo de todas las variables de entorno, incluidos los nombres, los valores y los signos iguales, es de 65 536 caracteres para un proceso.
Sustitución de valores de variables de entorno
Para sustituir valores de variable en la línea de comandos o scripts, incluya el nombre de la variable en signos de porcentaje (%VariableName%). Esto permite cmd
hacer referencia al valor de la variable en lugar de tratarla como texto literal. Cuando se ejecuta un script, cmd
reemplaza las instancias de la variable por su valor. Por ejemplo, el uso de %USERNAME% en un script sustituye automáticamente en el nombre de usuario real. La sustitución de variables no es recursiva; cmd
comprueba las variables solo una vez.