Exportar (0) Imprimir
Expandir todo

Introducción al shell de comandos

Actualizado: enero de 2005

Se aplica a: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Introducción al shell de comandos

El shell de comandos es un programa de software independiente que proporciona comunicación directa entre el usuario y el sistema operativo. La interfaz de usuario del shell de comandos no es gráfica y proporciona el entorno en que se ejecutan aplicaciones y utilidades basadas en caracteres. El shell de comandos ejecuta programas y muestra su resultado en pantalla mediante caracteres individuales similares al intérprete de comandos de MS-DOS Command.com. El shell de comandos de los sistemas operativos de servidor Windows utiliza el intérprete de comandos Cmd.exe, que carga aplicaciones y dirige el flujo de información entre ellas, para traducir los datos de entrada del usuario a un formato que el sistema operativo reconozca.

Puede usar el shell de comandos para crear y modificar archivos por lotes (también llamados secuencias de comandos) para automatizar tareas rutinarias. Por ejemplo, puede usar secuencias de comandos para automatizar la administración de cuentas de usuario o las copias de seguridad nocturnas. También puede usar la versión de línea de comandos de Windows Script Host, CScript, para ejecutar secuencias de comandos más complejas en el shell de comandos. Para obtener más información, vea Ejecutar Windows Script Host. Puede realizar operaciones con más eficacia utilizando archivos por lotes que con la interfaz de usuario. Los archivos por lotes aceptan todos los comandos disponibles en la línea de comandos. Para obtener más información acerca de los archivos por lotes y las secuencias de comandos, vea Usar archivos por lotes.

Puede personalizar la ventana del símbolo del sistema para visualizarla con más facilidad y aumentar el control sobre la forma en que ejecuta los programas. Para obtener más información acerca de cómo personalizar la ventana del símbolo del sistema, vea Configurar el símbolo del sistema.

Utilizar la sintaxis de comandos

La sintaxis aparece en el orden en que debe escribir un comando y los parámetros que lo siguen. El ejemplo siguiente del comando xcopy muestra diversos formatos de la sintaxis:

xcopy origen [destino] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:MM-DD-AAAA]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:archivo1[+[archivo2]][+[archivo3]] [{/y | /-y}] [/z]

La tabla siguiente explica cómo interpretar los diferentes formatos de texto.

Leyenda de formato

Formato Significado

Cursiva

Información que debe suministrar el usuario

Negrita

Elementos que debe escribir el usuario exactamente como se muestran

Puntos suspensivos (...)

Parámetro que se puede repetir varias veces en una línea de comandos

Entre corchetes ([])

Elementos opcionales

Entre llaves ({}); opciones separadas por barras verticales (|). Ejemplo: {par|impar}

Conjunto de opciones de las que el usuario debe elegir sólo una

Fuente Courier

Código o resultado del programa

Utilizar varios comandos y símbolos de procesamiento condicional

Puede ejecutar varios comandos desde una línea de comandos o secuencia de comandos si utiliza símbolos de procesamiento condicional. Al ejecutar varios comandos con símbolos de procesamiento condicional, los comandos que hay a la derecha del símbolo de procesamiento condicional actúan basándose en el resultado del comando que hay a la izquierda del símbolo de procesamiento condicional. Por ejemplo, puede ejecutar un comando solamente si el anterior causa un error. También puede ejecutar un comando solamente si el anterior es correcto.

Puede usar los caracteres especiales enumerados en la tabla siguiente para pasar varios comandos.

 

Carácter Sintaxis Definición

& [...]

comando1 &comando2

Utilícelo para separar distintos comandos en una misma línea de comandos. Cmd.exe ejecuta el primer comando y después el segundo comando.

&& [...]

comando1 &&comando2

Utilícelo para ejecutar el comando que hay a continuación de && sólo si el comando que hay antes del símbolo es correcto. Cdm.exe ejecuta el primer comando y, a continuación, ejecuta el segundo comando solamente si el primero se completa correctamente.

|| [...]

comando1 || comando2

Utilícelo para ejecutar el comando que hay a continuación de || sólo si el comando que hay antes del símbolo || es erróneo. Cmd.exe ejecuta el primer comando y, a continuación, ejecuta el segundo comando solamente si el primer comando no se completó correctamente (recibe un código de error mayor que cero).

( ) [...]

( Command1 & Command2)

Utilícelo para agrupar o anidar varios comandos.

; o ,

comando1 parámetro1;parámetro2

Utilícelo para separar parámetros de comandos.

Notes

  • Los caracteres "y" comercial, (&), barra vertical (|) y paréntesis ( ) son caracteres especiales que deben ir precedidos del carácter de escape (^) o de comillas cuando se pasan como argumentos.

  • Si un comando completa una operación correctamente, devuelve un código de salida cero (0) o no devuelve ningún código de salida. Para obtener información acerca de los códigos de salida, vea Utilizar los Kits de recursos e implementación de Microsoft Windows.

Shells de comandos anidados

Puede anidar shells de comandos en Cmd.exe si abre una nueva instancia de Cmd.exe en el símbolo del sistema. De forma predeterminada, cada instancia de Cmd.exe hereda el entorno de su aplicación Cmd.exe principal. Al anidar ejecuciones de Cmd.exe, puede realizar cambios en el entorno local y sin afectar a la aplicación primaria de Cmd.exe. Esto permite preservar el entorno original de Cmd.exe y volver a él cuando termine el shell de comandos anidados. Los cambios que realice en el shell de comandos anidados no se guardan.

Para anidar una shell de comandos, escriba en el símbolo del sistema:

cmd

Aparecerá un mensaje similar al siguiente:

Microsoft (R) Windows Server 2003, Standard Edition (TM)(C) Copyright 1985-2002 Microsoft Corp.

Para cerrar el shell de comandos anidados, escriba exit.

Podrá localizar cambios más adelante en una ejecución de Cmd.exe (o en una secuencia de comandos) si utiliza los comandos setlocal y endlocal. Setlocal crea un ámbito local y endlocal termina el ámbito local. Los cambios que realice en el ámbito de setlocal y endlocal se descartan y, por lo tanto, dejan el entorno original sin modificar. Puede anidar estos dos comandos hasta un máximo de 32 niveles. Para obtener más información acerca de los comandos setlocal y endlocal, vea Setlocal y Endlocal.

Utilizar variables de entorno con Cmd.exe

El entorno del shell de comandos Cmd.exe 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 de todo el entorno del sistema operativo si utiliza dos tipos de variables de entorno, de sistema y locales. La variables de entorno de sistema definen el comportamiento del entorno global del sistema operativo. Las variables de entorno locales definen el comportamiento del entorno de la instancia actual de Cmd.exe.

Las variables de entorno del sistema están preestablecidas en el sistema operativo y se encuentran disponibles para todos los procesos del sistema operativo de servidor Windows. Solamente los usuarios con credenciales administrativas pueden cambiar variables del sistema. Estas variables se utilizan normalmente en secuencias de comandos de inicio de sesión.

Las variables de entorno locales sólo están disponibles cuando el usuario para el que se crearon ha iniciado sesión en el equipo. Las variables locales establecidas en la sección HKEY_CURRENT_USER sólo son válidas para el usuario actual, pero definen el comportamiento del entorno global del sistema operativo.

La lista siguiente describe los diversos tipos de variables en orden descendente de prioridad:

  1. Variables de sistema integradas

  2. Variables del sistema de la sección HKEY_LOCAL_MACHINE

  3. Variables locales de la sección HKEY_CURRENT_USER

  4. Todas las variables de entorno y rutas de acceso establecidas en el archivo Autoexec.bat

  5. Todas las variables de entorno y rutas de acceso establecidas en una secuencia de comandos de inicio de sesión (si existe alguna)

  6. Variables utilizadas interactivamente en una secuencia de comandos o un archivo por lotes

En el shell de comandos, cada instancia de Cmd.exe hereda el entorno de su aplicación principal. Por lo tanto, puede cambiar las variables en el nuevo entorno de Cmd.exe sin que afecte al entorno de la aplicación principal.

En la tabla siguiente se enumeran las variables de entorno locales y del sistema para los sistemas operativos de servidor de Windows.

 

Variable Tipo Descripción

%ALLUSERSPROFILE%

Local

Devuelve la ubicación de perfil Todos los usuarios.

%APPDATA%

Local

Devuelve la ubicación en que las aplicaciones guardan los datos de forma predeterminada.

%CD%

Local

Devuelve la cadena del directorio actual.

%CMDCMDLINE%

Local

Devuelve la línea de comandos exacta utilizada para iniciar el Cmd.exe actual.

%CMDEXTVERSION%

Sistema

Devuelve el número de versión de Extensiones del procesador de comandos actual.

%COMPUTERNAME%

Sistema

Devuelve el nombre del equipo.

%COMSPEC%

Sistema

Devuelve la ruta de acceso exacta al ejecutable del shell de comandos.

%DATE%

Sistema

Devuelve la fecha actual. Utiliza el mismo formato que el comando date /t. Generado por Cdm.exe. Para obtener más información acerca del comando date, vea Fecha.

%ERRORLEVEL%

Sistema

Devuelve el código de error del último comando utilizado. Usualmente, los valores distintos de cero indican que se ha producido un error.

%HOMEDRIVE%

Sistema

Devuelve la letra de unidad de la estación de trabajo local del usuario conectada al directorio principal del usuario. Se establece según el valor del directorio principal. El directorio principal del usuario se especifica en Usuarios y grupos locales.

%HOMEPATH%

Sistema

Devuelve la ruta de acceso completa del directorio principal del usuario. Se establece según el valor del directorio principal. El directorio principal del usuario se especifica en Usuarios y grupos locales.

%HOMESHARE%

Sistema

Devuelve la ruta de acceso de red del directorio principal compartido del usuario. Se establece según el valor del directorio principal. El directorio principal del usuario se especifica en Usuarios y grupos locales.

%LOGONSERVER%

Local

Devuelve el nombre del controlador de dominio que validó la sesión actual.

%NUMBER_OF_PROCESSORS%

Sistema

Especifica el número de procesadores instalados en el equipo.

%OS%

Sistema

Devuelve el nombre del sistema operativo. En Windows 2000 se muestra el sistema operativo Windows NT.

%PATH%

Sistema

Especifica la ruta de acceso de búsqueda para los archivos ejecutables.

%PATHEXT%

Sistema

Devuelve una lista de extensiones de archivo que el sistema operativo considera como ejecutables.

%PROCESSOR_ARCHITECTURE%

Sistema

Devuelve la arquitectura de chip del procesador. Valores: x86 o IA64 (basado en Itanium).

%PROCESSOR_IDENTFIER%

Sistema

Devuelve una descripción del procesador.

%PROCESSOR_LEVEL%

Sistema

Devuelve el número de modelo del procesador instalados en el equipo.

%PROCESSOR_REVISION%

Sistema

Devuelve el número de revisión del procesador.

%PROMPT%

Local

Devuelve la configuración del símbolo del sistema del intérprete actual. Generado por Cmd.exe.

%RANDOM%

Sistema

Devuelve un número decimal aleatorio entre 0 y 32767. Generado por Cmd.exe.

%SYSTEMDRIVE%

Sistema

Devuelve la unidad que contiene el directorio raíz del sistema operativo de servidor de Windows (es decir, la raíz del sistema).

%SYSTEMROOT%

Sistema

Devuelve la ubicación del directorio del sistema operativo de servidor de Windows.

%TEMP% y %TMP%

Sistema y usuario

Devuelve los directorios temporales predeterminados que utilizan las aplicaciones disponibles para los usuarios conectados actualmente. Algunas aplicaciones requieren TEMP y otras requieren TMP.

%TIME%

Sistema

Devuelve la hora actual. Utiliza el mismo formato que el comando time /t. Generado por Cdm.exe. Para obtener más información acerca del comando time, vea Time.

%USERDOMAIN%

Local

Devuelve el nombre del dominio que contiene la cuenta de usuario.

%USERNAME%

Local

Devuelve el nombre del usuario que ha iniciado la sesión actual.

%USERPROFILE%

Local

Devuelve la ubicación del perfil del usuario actual.

%WINDIR%

Sistema

Devuelve la ubicación del directorio del sistema operativo.

Configurar las variables de entorno

Utilice el comando set para crear, cambiar, eliminar o mostrar variables de entorno. El comando set altera variables solamente en el entorno de shell actual.

Para ver una variable, escriba en el símbolo del sistema:

set nombreDeVariable

Para agregar una variable, escriba en el símbolo del sistema:

setVariableName=Value

Para eliminar una variable, escriba en el símbolo del sistema:

set nombreDeVariable =

Puede usar la mayor parte de los caracteres como valores de variables, incluido el espacio en blanco. Si utiliza los caracteres especiales <, >, |, & o ^, deberán ir precedidos del carácter de escape (^) o de comillas. Si utiliza comillas, se incluyen como parte del valor debido a que todo lo que sigue al signo igual se toma como un valor. Tenga en cuenta los siguientes ejemplos:

  • Para crear el valor de variable nuevo&nombre, escriba:

    set nombreDeVariable=nuevo&nombre

  • Para crear el valor de variable "nuevo&nombre", escriba:

    set nombreDeVariable="nuevo&nombre"

  • Si escribe set nombreDeVariable=nuevo&nombre en el símbolo del sistema, aparecerá un mensaje de error similar al siguiente:

    "'nombre' no se reconoce como comando interno o externo, un programa o un archivo por lotes ejecutable."
    

Los nombres de variables no distinguen entre mayúsculas y minúsculas. Sin embargo, set muestra la variable exactamente como se escribió. Puede combinar letras en mayúsculas y minúsculas en los nombres de variables para que el código sea más legible (por ejemplo, NombreUsuario).

Notes

  • El tamaño máximo de una variable de entorno individual es de 8192 bytes.

  • El tamaño máximo total para todas las variables de entorno, incluidos los nombres de variable y el signo igual, es de 65.536 KB.

Sustituir valores de variables de entorno

Para habilitar la sustitución de valores de variables en la línea de comandos o en secuencias de comandos, ponga símbolos de porcentaje alrededor del nombre de la variable (por ejemplo, %nombreDeVariable%). Al utilizar signos de porcentaje, se asegura de que Cmd.exe hace referencia a los valores de la variable en lugar de realizar una comparación literal. Tras definir los valores de un nombre de variable, escriba el nombre de la variable entre signos de porcentaje. Cmd.exe busca todas las instancias del nombre de la variable y lo reemplaza por el valor de variable definido. Por ejemplo, si crea una secuencia de comandos que contenga diferentes valores (por ejemplo, nombres de usuario) y desea definir la variable de entorno NOMBREUSUARIO para cada usuario con estos valores, puede escribir una secuencia de comandos utilizando la variable NOMBREUSUARIO entre signos de porcentaje. Cuando ejecute esta secuencia de comandos, Cmd.exe reemplaza %NOMBREUSUARIO% con los valores de la variable y se elimina la necesidad de realizar esta tarea manualmente para cada usuario. La sustitución de variables no es recursiva. Cmd.exe comprueba las variables una vez. Para obtener más información acerca de la sustitución de variables, vea For y Call.

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft