Suscríbete

Introduce aquí tu email para recibir notificaciones de cambios

Variables de entorno en Microsoft Windows

En informática, el término “variable” se refiere a unas unidades de datos que pueden adoptar distintos valores. Es un concepto básico en programación y también se utiliza con distinta frecuencia en algunos sistemas operativos.

Microsoft Windows dispone de un buen número de variables de entorno predefinidas. Aunque su uso no está al alcance de cualquiera, conocerlas puede ser de utilidad en varias tareas:

  • Crear archivos de procesamiento por lotes (BAT) o scripts que funcionen en distintos equipos
  • Acceder rápidamente a carpetas predefinidas (Configuración Local, archivos temporales…)

Veamos sin más dilación algunas de las variables de entorno de Windows XP y cómo cambiarlas.

  • %ALLUSERSPROFILE% - Ruta de la carpeta con la configuración para todos los usuarios
    • C:\Documents and Settings\All Users
  • %APPDATA% - Ruta de la carpeta con datos de programa
    • C:\Documents and Settings\{usuario}\Datos de Programa
  • %COMPUTERNAME% - Nombre del equipo
    • Computer
  • %COMSPEC% - Ruta al intérprete de comandos
    • C:\Windows\System32\cmd.exe
  • %HOMEDRIVE% - Unidad en la que se encuentra los datos de usuario
    • C:
  • %HOMEPATH% - Ruta a la carpeta del usuario actual
    • \Documents and Settings\{usuario}
  • %USERPROFILE% - Ruta a la carpeta del usuario actual. Incluye la unidad
    • C:\Documents and Settings\{usuario}
  • %PATH% - Rutas en la que se buscan ejecutables
    • C:\Windows\System32\;C:\Windows\
  • %PATHEXT% - Extensiones de archivo ejecutables
    • .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH.
  • %PROGRAMFILES% - Ruta de la carpeta archivos de programa
    • C:\Archivos de programa
  • %PROMPT% - Formato del intérprete de comandos
    • $P$G
  • %SYSTEMDRIVE% - Unidad en la que se ha instalado Windows
    • C:
  • %SYSTEMROOT% y %WINDIR% - Contiene la carpeta de Windows
    • C:\Windows
  • %TEMP% y %TMP% - Ruta de la carpeta Temp
    • C:\DOCUME~1\{usuario}\LOCALS~1\Temp
  • %USERNAME% - Nombre de usuario actual
    • Softonic
  • %DATE% - Fecha actual
    • 05/12/2008
  • %TIME% - Hora actual
    • 12:52:22,07
  • %CD% - Carpeta actual con su ruta completa
    • C:\Prueba
  • %ERRORLEVEL% - Código de salida del comando anterior
    • 0
  • %RANDOM% - Número aleatorio de 0 a 32767
    • 903

Esta lista no deja de ser un extracto de las variables de entorno más importantes. Lo cierto es que hay más e incluso puedes añadir las tuyas propias.

Para modificar o añadir variables, tienes que ir al Panel de Control / Sistema  (atajo: Win + Pausa). Después encamínate hacia la pestaña Opciones avanzadas y pulsa en el botón Variables de Entorno.

Mi recomendación personal es que no modifiques las variables del sistema salvo que sepas perfectamente lo que estás haciendo. Si quieres añadir alguna variable nueva, hazlo en las variables de usuario.

Caso práctico 1. Variables de entorno como atajos

Si quieres acceder a la carpeta Datos de programa, puedes hacerlo de dos formas. La primera implica abrir el explorador, ir a Documents and Settings, buscar el usuario actual y entrar en la carpeta correspondiente.

Utilizando variables de entorno, sólo tienes que escribir %APPDATA% en la barra de direcciones y pulsar Enter. Resulta de especial utilidad si estás en un ordenador ajeno y no quieres tener que buscar dónde están “las cosas”.

Caso práctico 2. Variables de entorno en archivos BAT

Los archivos de procesamiento por lotes, o archivos BAT, tuvieron su momento de gloria en los tiempos de MS-DOS, pero no por ello han dejado de ser útiles en la actualidad.

Con el uso de variables de entorno puedes mejorar su utilidad y adaptabilidad a otros equipos con distinta configuración. Un ejemplo práctico, que borrará los archivos temporales.

>> limpieza.bat (podría colocarse en el Inicio de Windows)
@CD %TEMP%
@del *.* /s /q
@echo Carpeta de archivos temporales eliminada
@pause

Enlaces

  • Envman - Gestor de variables de entorno para Windows.
  • NirCmd - Funciones adicionales para línea de comandos.

Artículos recientes

Comentarios de nuestros lectores

  1. ToRA

    Enviado a las 6:27 pm el 17 de Diciembre

    jé, tonto de mí, pensé que el post iría sobre deskmod :)

  2. Cerbero

    Enviado a las 9:16 pm el 17 de Diciembre

    Asi que eso era el %temp%…
    Voy a guardar esta lista. Muy buen articulo!.

  3. McFly_24

    Enviado a las 10:56 pm el 17 de Diciembre

    A mi me va a venir de perillas, aplicandolo, a la instalacion de Cibers y Redes… Solo me queda tener un programita que me genere los .BAT para evitar errores! :P

  4. mortanauta

    Enviado a las 8:55 am el 18 de Diciembre

    @McFly_24
    Un bat no es más que un archivo de texto, lo puedes generar con el bloc de notas en formato txt y luego le cambias la extensión. Para evitar los errores primero pruebalo en un entorno aislado, como una maquina virtual y cuando esté correcto pasalo al resto de los equipos.

    De todas, si es para un cyber, igual te conviene pasar por esta web
    http://www.faronics.com/
    Sobre todo el Deepfreze te puede venir bien, no es gratis, pero sé de gente que está muy contenta con él

  5. McFly_24

    Enviado a las 10:10 pm el 18 de Diciembre

    Ya lo conocia, y se me resiste su instalacion/configuracion, puesto que luego si pretendo eliminarlo me he visto con problemas para hacerlo.

    De momento tiro de Ghost, cuando me arte, restauro y listo… de mientras que hagan lo que quieran durante la semana, ademas si falla algo en Windows, puedo restaurar facilmente el sistema metiendo el CD de Ghost.

    El problema de los Batchs, basicamente, es el conocer los scripts, comandos y variables que se pueden utilizar, por ejemplo: ejecutar un instalador, desatendidamente, que no pregunte al usuario nada, que eliminen los accesos directos, etc, tal cual hacen los WPI de los UnAttended, por ejemplo… Probar todo eso es volverse loco, pero con algun programa que lo genere, pues facilita muchas horas de trabajo, prueba/fallo y grandes desastres! :P

  6. Manuel

    Enviado a las 12:52 pm el 19 de Diciembre

    ¿nadie se acuerda de MS-Dos? por aquellos dias trabajar con variables era corriente y todos sabiamos que era un fichero de procesamiento por lotes. Los “informaticos” recien llegados no se acuerdan de aquellos dias, claro!! jaja

  7. stewar

    Enviado a las 6:57 pm el 19 de Diciembre

    muy buena info

    quisiera saber si alguno de ustedes sabe arto sobre batch q me enseñara

    quiero una especie de profesor =D

    mi correo es stewaryankee@hotmail.com o dark_col@hotmail.com

  8. McFly_24

    Enviado a las 11:54 pm el 19 de Diciembre

    En mi caso, no soy informatico, sino que trabajo en una tienda de informatica… :P es distinto!

  9. Kervin Vergara

    Enviado a las 5:53 am el 22 de Diciembre

    Curiosamente he realizado lo del siguiente código:


    @CD %TEMP%
    @del *.* /s /q
    @echo Carpeta de archivos temporales eliminada
    @pause

    En un fichero BAT. Al momento de ejecutarlo, me ha borrado todos los ficheros contenidos en “Mis documentos”. ¿Qué puede ser? No le encuentro lógica hasta ahora…

    ¡Muy buen artículo! Saludos.

  10. Iván Ramírez

    Enviado a las 10:06 am el 22 de Diciembre

    Espero que no hayas perdido nada importante :P

    Hay que tener mucho cuidado con esos comandos, en especial si utilizas “del /q” que significa que no preguntará antes de borrar y /s que eliminará todas la subcarpetas.

    Prueba a eliminar la línea de DEL y cambiarla por un inofensivo DIR o similar.

    Comprueba igualmente que CD %TEMP% te lleva a la carpeta adecuada. Un equivalente es %TMP%

  11. Pau

    Enviado a las 11:30 am el 26 de Marzo

    Para Kervin Vergara: mira cuál es el contenido de la variable %TEMP% (o %TMP% como sugiere Iván) para estar seguro de que estás yendo a la ruta correcta. El comando CD permite cambiar la ruta activa en una unidad, pero si estás en otra unidad, no te cambia. Esto me ha pasado ;)

    Me explico: supongamos que tienes el script en “c:\documents and settings\user\mis documentos”, pero la ruta de la carpeta temporal (el contenido de la variable %TEMP%) es “E:\TEMP”. En este caso el comando CD %TEMP% hará que la ruta activa en la unidad E cambie, PERO NO TE HACE QUE CAMBIES A LA UNIDAD E, por lo que, como estás en la unidad C, tu ruta seguirá siendo la de “Mis documentos”, y por tanto el “del *.*” se ejecutará sobre “Mis documentos” :O

    Como bien dice Iván, utiliza comandos inofensivos como DIR para comprobar que estás haciendo lo correcto. Yo suelo usar ECHO para que me muestre el comando que va a utilizar, en vez de ejecutarlo (por ejemplo “ECHO CD %temp%”… aunque con comandos más complejos y con más variables se ve mejor este ejemplo), y cuando lo tengo claro, quito el ECHO y ya dejo que se ejecute el comando.

    Sugerencia: utiliza %CD% para saber si estás en la ruta correcta, comparando con %TEMP% en este caso.

  12. Franky

    Enviado a las 11:14 am el 19 de Junio

    Podria alguien decirme un comando para borra el historial

  13. cipachoc

    Enviado a las 6:37 pm el 25 de Junio

    para franky
    puedes utilizar al comando G

  14. Franky

    Enviado a las 2:03 pm el 30 de Junio

    Gracias a cipachoc por responder pero el comando G como tu mismo lo has dicho no vale quiero decir cuando lo pongo en el MS-DOS (Simbolo del sistema o CMD) me dice que G no es un comando interno o externo del sistema me podeis decir un comando que me sirva utilzo el XP Pro a lo mejor el comando G solo funcionaba en el Win 98 gracias de todos modos por responder.

  15. guyu

    Enviado a las 8:04 pm el 16 de Septiembre

    jajajajajajaja, lo siento pero me ha salido espontaneo.

  16. Getzemani Medina

    Enviado a las 9:01 pm el 22 de Octubre

    Hola, tengo un problema para abrir microsoft Office Word 2007, dice: Word no pudo crear el archivo de trabajo. Compruebe la variable de entorno personal.
    Este mensaje sale cada que abro un documento nuevo o algunos reciente. Abre Word si le digo aceptar, a veces son hasta 3 veces las que tengo que dar enter.
    Intente poner algunos de las variables que dicen arriba, pero apun asi no desaparece el mensaje.
    Espero que alguien me pueda ayudar.
    Muchisímas Gracias.

Déjanos un comentario