Sei sulla pagina 1di 36

Este artculo o seccin necesita una revisin de ortografa y gramtica.

Puedes colaborar editndolo (lee aqu sugerencias para mejorar tu ortografa). Cuando est corregido, borra
este aviso, por favor.
Puedes ayudarte del corrector ortogrfico, activndolo en: Mis preferencias Accesorios Navegacin
ortogrfico resalta errores ortogrficos con un fondo rojo.

Las variables de entorno forman un conjunto de valores dinmicos que normalmente afectan
el comportamiento de losprocesos en una computadora.
ndice
[ocultar]

1 Obteniendo y dando valores a las variables de entorno


o

1.1 MS-DOS y Windows

1.2 UNIX / GNU/Linux

2 Variables de entorno comunes


2.1 Windows

2.1.1 Valores por defecto de las variables de entorno

2.1.2 Pseudo-variables
2.2 UNIX Y GNU

3 Referencias

4 Enlaces externos

Obteniendo y dando valores a las variables de entorno [editar]


Es posible acceder al valor de una variable, ya sea para consultarlo como para modificarlo,
tanto dentro de scripts como desde la lnea de comandos. La forma en que se accede al
contenido de una variable vara para cada sistema operativo. En el caso de sistemas Unix,
depende del intrprete de comandos (o shell) que se use, pues, ste es el encargado del
manejo de las variables de entorno.

MS-DOS y Windows[editar]
Por ejemplo, para mostrar el contenido de la variable de entorno PATH (que mantiene
la ruta de bsqueda de programas en el sistema) debe escribirse en la lnea de comandos:

Elcorrector

echo %PATH%

Observaciones: El comando SET, sin argumentos, muestra todas las variables de entorno
junto con sus respectivos valores.
Para asignar un valor a una variable se usa:1
SET VARIABLE=valor

Cabe mencionar que esta asignacin ser visible desde todos los programas iniciados a partir
de ese momento desde la misma ventana de lnea de comandos, pero no desde otras, ni se
mantendr de forma permanente.
Para lograr un cambio permanente, se puede usar el comando SETX (opcional, disponible
dentro de las Herramientas de Soporte).2 O bien, desde el escritorio de Windows XP:

Hacer clic sobre el icono de Mi PC.

En el men contextual, elegir la opcin Propiedades.

A continuacin en la ventana emergente, hacer clic en la pestaa Opciones


avanzadas.

Luego abajo, buscar y dar click al botn Variables de entorno.

Para modificar una variable existente, hacer click en su nombre y luego en el


botn Modificar. Para crear una nueva variable, usar el botn Nueva.

Los valores iniciales de las variables de entorno se almacenan en el registro de Windows, as


que una tercera forma de lograr un cambio permanente es modificando dichos valores
iniciales. Las variables del usuario se almacenan enHKEY_CURRENT_USER\Environment y las
variables del sistema
enHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment.

El manejo de variables de entorno en Windows ha sido mejorado (a partir de XP y versiones


posteriores). Por ejemplo, para mostrar el PATH del sistema, pero usando barras / en lugar
de \:

>echo %PATH:\=/%
C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Archivos de
programa/
QuickTime/QTSystem/;C:/Archivos de programa/Archivos comunes/Adobe/AGL

Para guardar en la variable YEAR el ao actual (los ltimos cuatro caracteres de la


variable %DATE%):
>set YEAR=%DATE:~-4%
>echo %YEAR%
2010

UNIX / GNU/Linux[editar]
En varias interfaces texto de Unix y Linux, como por ejemplo en bash, se muestra el valor de
una variable mediante:
echo $PATH

Los comandos env, set, y printenv muestran todas las variables de entorno junto con sus
respectivos valores. env y set se usan tambin para asignar valores a variables de entorno y
normalmente son funciones incorporadas del intrprete de comandos. printenv permite
tambin mostrar el valor de una variable de entorno particular si se le pasa su nombre como
nico parmetro.
La forma de asignar un valor a una variable es:
variable=valor

Pueden usarse tambin los siguientes comandos, aunque dependen del intrprete.
export VARIABLE=valor # en Bourne e intrpretes de comandos relacionados.
setenv VARIABLE valor # en csh e intrpretes de comandos relacionados.

El manejo de variables de entorno es altamente verstil en entornos UNIX/Linux.


hello compas

Variables de entorno comunes[editar]


Windows[editar]
%COMSPEC%
Esta variable contiene la ruta completa al procesador de comandos, cmd.exe
%PATH%
Esta variable contiene una lista separada por punto y comas de directorios en los cuales el
intrprete de comandos buscar losarchivos ejecutables que no se invocan con una ruta
explcita. Ntese que es posible asignarle valores a PATH con el comando homnimo, sin
necesidad de utilizar SET. Por ejemplo, para poder invocar el navegador firefox desde
cualquier directorio:
PATH=%PATH%;c:\Archivos de programa\Mozilla firefox

Si abrimos un nuevo intrprete de comandos y escribimos


firefox http://es.wikipedia.org

se abrir una ventana del navegador, sin necesidad de escribir la ruta completa al programa.
%PATHEXT%
Esta variable contiene una lista separada por punto y comas con las extensiones conocidas de
los archivos ejecutables. Si el nombre de un ejecutable terminan con una extensin incluida en
esta lista, es posible omitir dicha extensin al invocar el programa. Un valor tpico es
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH. Por ejemplo, debido a que .EXE
est en la lista, podemos escribir firefox (en lugar de firefox.exe) para invocarlo.
%TEMP% y %TMP%
@
Estas variables contienen la ruta al directorio donde almacenar archivos temporales. Ntese
que %TEMP% en MS-DOS 5 apuntaba a menudo a C:\DOS, por lo que eliminar todos los
archivos de %TEMP% poda causar muchos problemas. El creador del navegador
web Arachne no consider esta posibilidad, lo que le gener varias crticas. 3
Valores por defecto de las variables de entorno[editar]
Variable
Windows XP
Windows Vista/7
%ALLUSERSPROFILE%
C:\Documents and
C:\ProgramData
(%PROGRAMDATA%)
Settings\All Users
%APPDATA%
C:\Documents and
C:\Users\{username}\AppData\Roaming
Settings\

{username}\Datos de
Programa
%COMPUTERNAME%
{nombredeordenador} {nombredeordenador}
C:\Archivos de
%COMMONPROGRAMFIL
programa\Archivos
C:\Archivos de programa\Archivos Comunes
ES%
Comunes
C:\Archivos de
%COMMONPROGRAMFIL programa
C:\Archivos de programa (x86)\Archivos
ES(x86)%
(x86)\Archivos
Comunes
Comunes
C:\Windows\System32\
%COMSPEC%
C:\Windows\System32\cmd.exe
cmd.exe
%HOMEDRIVE%
C:\
C:\
C:\Documents and
%HOMEPATH%
\Usuarios\{username}
Settings\{username}
No disponible si es una C:\Usuarios\{username}\Application
%LOCALAPPDATA%
declaracin explcita. Data\Local
\\
%LOGONSERVER%
\\{domain_logon_server}
{domain_logon_server}
C:\Windows\system32,
C:\Windows,
C:\Windows\system32, C:\Windows,
%PATH%
C:\Windows\System32\ C:\Windows\System32\Wbem
Wbem
.COM, .EXE, .BAT,
.com, .exe, .bat, .cmd, .vbs, .vbe, .js, .jse,
%PATHEXT%
.CMD, .VBS, .VBE,
.wsf, .wsh, .msc
.JS, .WSF, .WSH
C:\Archivos de
%PROGRAMFILES%
C:\Archivos de programa\
programa\
C:\Archivos de
C:\Archivos de programa (x86) (solo en
%PROGRAMFILES(X86)% programa (x86) (solo en
versiones 64-bit)
versiones 64-bit)
Cdigo del formato
Cdigo del formato de Cmd.exe. El cdigo es
%PROMPT%
deCmd.exe. El cdigo
normalmente $P$G
es normalmente $P$G
%SystemDrive%
C:\
C:\
El directorio
de Windows,
normalmente
%SystemRoot%
C:\Windows
C:\Windows;
anteriormente
C:\WINNT
C:\Documents and
Settings\
%TEMP% y %TMP%
C:\Users\{username}\AppData\Local\Temp
{username}\Local
Settings\Temp
%USERDOMAIN%
{userdomain}
{userdomain}
%USERNAME%
{username}
{username}
%SystemDrive
%USERPROFILE%
%\Documents and
C:\Users\{username}
Settings\{username}
%WINDIR%
C:\Windows
C:\Windows

%PUBLIC%
%PSModulePath%

C:\Users\Public
%SystemRoot
%\system32\WindowsPowerShell\v1.0\Modules
\

Pseudo-variables[editar]
No almacenan un valor fijo, sino que se evalan al momento de pedir su valor.
%CD%
Se expande a la cadena del directorio actual.
%DATE%
Se expande a la fecha actual usando el mismo formato que el comando DATE.
%TIME%
Se expande a la hora actual usando el mismo formato que el comando TIME.
%RANDOM%
Se expande a un nmero decimal aleatorio entre 0 y 32767.
%ERRORLEVEL%
Se expande al valor de NIVEL DE ERROR actual (usualmente, el cdigo de retorno del ltimo
comando externo ejecutado).
%CMDEXTVERSION%
Se expande al nmero de versin de las extensiones del procesador de comandos.
%CMDCMDLINE%
Se expande a la lnea de comando original que invoc el procesador de comandos.

UNIX Y GNU[editar]
$PATH
Contiene una lista separada por dos puntos de directorios en los cuales el intrprete de
comandos buscar los archivos ejecutables que no se invocan con una ruta. Por razones
obvias de seguridad, normalmente esta variable de entorno no contiene el directorio actual.
$HOME
Contiene la ubicacin del directorio de usuario. De esta manera, los dos comandos siguientes
tienen el mismo efecto:
cd ~
cd $HOME

$DISPLAY
Contiene el identificador del display que los programas de X11 deben usar por defecto.
$LANG, $LC_ALL
LANG contiene el locale por defecto del sistema; LC_ALL permite ignorar su contenido. Por
ejemplo, si contiene pt_BR , entonces el idioma ser portugus de Brasil y el locale ser
Brasil.
$RANDOM
Es una variable de entorno especial que, cuando se intenta obtener su contenido, devuelve un
valor aleatorio.
$PWD
Contiene la ruta al directorio de trabajo actual.
$OLDPWD
Contiene la ruta al directorio de trabajo previo, esto es, el valor de $PWD antes de la ejecucin
del ltimo cd.
$SHELL
Contiene el nombre de la shell interactiva que se est corriendo, por ejemplo bash.
$TERM
Contiene el nombre de la terminal que se est corriendo, por ejemplo xterm.
$PAGER
Contiene la ruta al programa usado para listar el contenido de archivos, por ejemplo:
/bin/less

$EDITOR
Contiene la ruta al editor de texto, usualmente un editor liviano por ejemplo:
/usr/bin/nano

$VISUAL
Contiene la ruta al editor de texto, usualmente un editor poderoso, por ekemplo vi, vim, emacs,
etc.
$MAIL

Contiene la hubicacion del email entrante. La configuracin tradicional es:


/var/spool/mail/$LOGNAME.

$HISTFILE
El nombre del archivo donde se guarda el historial de comandos.
$HISTFILESIZE
El numero maximo de lineas contenidas en el historial de comandos.
$HOSTNAME
Contiene el nombre de host del sistema.
$PS1
El prompt por defecto .
$USER
Nombre de usuario actual logueado en el sistema.
$MANPATH
Cadena de texto separada por comas con las ubicaciones de las paginas del manual.

Referencias[editar]
1.

Volver arriba El comando SET en la documentacin de Windows XP

2.

Volver arriba Herramientas de soporte tcnico de Windows XP Service Pack 2

3.

Volver arriba Hilo en la lista de correo de ARACHNE acerca del dao potencial

Enlaces externos[editar]

How To Manage Environment Variables in Windows XP microsoft.com

Environment Variables in Windows XP Computer Education

Categoras:
Sistemas operativos
Variables (programacin)

Configurar variables de entorno en


Windows Vista / 7
Tras un problemilla instalando strawberry perl he tenido que buscar como config

urar las variables de entorno en Windows 7 (que resulta ser igual para Windows Vista),
concretamente mi variable %PATH%.
Para hacer esto podemos ir a:
Click derecho Equipo > Propiedades
Configuracion Avanzada del Sistema (en el lateral izquierdo)
(Pestaa Opciones Avanzadas) Botn Variables de entorno.

Lista de las variables de entorno de Windows y


usos prcticos
Conocer y usar en la prctica las variables de entorno en Windows
XP, 7 y 8. Emplearlas en archivos batch, scripts y otras
aplicaciones. Como crear nuevas variables mediante la interface
del sistema o la lnea de comandos.

Las variables de entorno se


crean por la necesidad de acceder al contenido de valores
dinmicos, distintos en cada sistema, son parmetros
preestablecidos a rutas, valores o aplicaciones que cambian segn
el entorno, PC o sistema o el usuario que los utilice.
Las variables permiten acceder a archivos y funciones comunes del
sistema en cualquier lugar donde estas se encuentren localizadas.
Cada usuario tiene la opcin de escoger diferentes ubicaciones
fsicas a archivos y directorios de su sistema, pero siempre las
variables indicarn la ubicacin exacta.
Algunos ejemplos de variables de entorno preestablecidas son:
El nombre del usuario en cualquier equipo lo devuelve la variable
%USERNAME%

El directorio donde escriben los archivos temporales las


aplicaciones o programas es %TEMP% o %TMP%.

Cul es el uso prctico de las variables de entorno?

Cualquier aplicacin del sistema o programa instalado, al tener


necesidad de escribir valores en tu carpeta de usuario. solo podr
hacerlo utilizando la variable antes mencionada %USERNAME%.
La ruta es diferente en cada equipo porque incluye el nombre del
usuario que difiere en cada ocasin.
De la misma forma si creas un archivo batch para copiar un archivo
determinado en la carpeta Escritorio y deseas que puedan utilizarlo
otros usuarios, es necesario usar la variable %USERPROFILE% ya
que la carpeta Escritorio se encuentra dentro de la carpeta del
usuario.
En este caso tu archivo batch tendr que contener la ruta:
%USERPROFILE%\Desktop para asegurarte que funcione en
cualquier computadora en la que se ejecute.
De forma similar se usan otras variables de entorno existentes.
Windows incluye algunas predeterminadas, pero existen otras que
son agregadas por programas y que son imprescindibles para su
funcionamiento.

Cmo conocer las variables de entorno de nuestro


sistema?
Para conocer las variables de entorno actualmente establecidas en
nuestro sistema, solo es necesario abrir la consola de cmd e
introducir el comando SET, se mostrarn todas las variables de

entorno actuales junto con sus respectivos valores.

Cmo crear una variable de entorno?


Es posible crear variables de entorno en nuestro sistema, para
establecer parmetros determinados en la configuracin de
Windows.
Existen dos maneras, mediante la interface de Windows y
utilizando la lnea de comandos.

1- Crear una variable de entorno mediante la interface de


Windows
Ejemplo 1- Crear una variable para establecer un directorio que
sirva de destino y almacn para que todos los archivos que se
copien con distintos comandos se guarden all.
En este ejemplo la carpeta que recibir todos los archivos que
copies est en la ruta:D:\Almacen
Para crear la variable accede a:
Propiedades de Mi PC -> Opciones avanzadas -> Variables de entorno
En la parte superior de la ventana donde dice Variables de entorno para el
usuario, da un clic sobre el botn Nuevo.
En Nombre de la variable escribe COPIAS.
En Valor la ruta: D:\Almacen.
Es todo.
Un ejemplo del cdigo usado para copiar todo el contenido de un DVD que
est en la unidad E a tu carpeta Almacn: robocopy E:\ %COPIAS% /E

Ejemplo 2- Crear una variable para ejecutar una aplicacin, en este


ejemplo VirtualDub que est en la ruta: C:\Aplicaciones\VirtualDub1.9.3\VirtualDub.exe.

Accede a la ventana de Variables de entorno, da un clic sobre el


botn Nuevo, enNombre de la variable escribe VD, en Valor la ruta a la
aplicacin.
Para iniciar la aplicacin en la ventana de cmd escribe %VD% y Enter.

2- Crear una variable de entorno utilizando la lnea de comandos

Tambin puedes crear una variable de entorno mediante la lnea de


comandos, para eso utiliza el comando SETX de la siguiente forma: SETX
VARIABLE VALOR.
Para crear la variable del primer ejemplo solo utiliza: SETX COPIAS
D:\Almacen y presiona Enter.
Como vers es mucho ms fcil. .

Lista de las variables de entorno en Windows 7 y 8

Para conocer el valor de algunas de estas variables puedes ingresarlas


directamente en la consola de cmd, Inicio o en Ejecutar, para mostrar otras tienes
que anteponer el comando echo a la variable.
Algunas de las variables no almacenan un valor fijo, sino que se evalan al
momento de pedir su valor, son los casos de: %CD%, %DATE%, %TIME%,
%ERRORLEVEL% y %CMDCMDLINE%.

%ALLUSERSPROFILE%

%APPDATA%

Esta variable devuelve la localizacin del perfil de


todos los usuarios, por lo general
es C:\Program\Data, carpeta oculta en la unidad C.

Una de las variables ms utilizadas, carpeta oculta


donde guardan sus datos las aplicaciones, se

encuentra dentro de la carpeta de usuario.


En Windows 7 y Vista la ruta es la siguiente:
C:\Users\NombreDeUsuario\AppData\Roaming.
En Windows XP la ruta es diferente:
C:\Documents and
Settings\NombreDeUsuario\Datos de programa

%COMMONPROGRAMFIL
ES%

Carpeta donde los programas almacenan archivos


comunes:
C:\Program Files\Common Files.

%CMDCMDLINE%

Muestra el comando exacto empleado para


acceder al intrprete de comandos (cmd.exe). Por
ejemplo usndolo en la ubicacin exacta de la
consola muestra: C:\Windows\system32\cmd.exe
Abriendo una ventana de cmd en el escritorio
mostrar: "cmd.exe" /s /k pushd
"C:\Users\NombreDeUsuario\Desktop"

%CMDEXTVERSION%

Devuelve el nmero de versin de nuestro


intrprete de comandos.

%COMPUTERNAME%

Devuelve el nombre del equipo.

%COMSPEC%

Devuelve la ruta de la shell de comandos,


normalmente: C:\Windows\System32.

%DATE%

Devuelve la fecha actual.

%ERRORLEVEL%

Devuelve el cdigo de error del ltimo comando


ejecutado.

%HOMEDRIVE%

Devuelve la unidad en la que est el directorio en

el que ests actualmente.

%HOMEPATH%

Devuelve la ruta completa a dicho directorio.

%LOGONSERVER%

Devuelve el nombre de nuestro servidor (similar a


COMPUTERNAME pero antecedido de dos barras
inclinadas \\)

%LOCALAPPDATA%

Carpeta donde los programas guardan archivos


temporales. Generalmente
C:\Users\NombreDeUsuario\AppData\Local.

%NUMBER_OF_PROCESS
ORS%

Devuelve el nmero de procesadores instalados en


el equipo.

%OS%

Devuelve nuestro sistema operativo, con la


excepcin de Windows 2000 y XP que lo devuelven
como Windows_NT.

%PATH%

Contiene una lista separada por punto y coma de


directorios en los cuales se buscarn los archivos
ejecutables que no se invocan con una ruta
explcita.
Aparecer lo siguiente ms otros directorios
agregados por diversas aplicaciones.
C:\Windows\system32; C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\

%PATHEXT%

Esta variable contiene una lista separada por


punto y comas con las extensiones conocidas de
los archivos ejecutables.
Si el nombre de un ejecutable termina con una
extensin incluida en esta lista, es posible omitir

dicha extensin al invocar el programa.


Por ejemplo: .COM; .EXE; .BAT; .CMD; .VBS; .VBE;
.JS; .JSE; .WSF; .WSH; .MSC

%PROCESSOR_ARCHITEC
Devuelve la arquitectura del procesador.
TURE%

%PROCESSOR_IDENTIFIE
R%

Devuelve la descripcin del procesador.

%PROCESSOR_LEVEL%

Devuelve el nmero de modelo de procesador.

%PROCESSOR_REVISION
%

Devuelve el nmero de revisin del procesador.

%PROGRAMDATA%

Carpeta donde los programas almacenan datos,


normalmente: C:\ProgramData.

%PROGRAMFILES%

Devuelve la carpeta donde se instalan los


programas, normalmente: C:\Archivos de
Programa.

%PSModulePath%

Ruta a los modulos de PowerShell,


C:\Windows\system32\WindowsPowerShell\v1.0\Mo
dules\

%PUBLIC%

Carpeta donde se guardan datos pblicos


compartidos de todos los usuarios, generalmente:
C:\Users\Public.

%RANDOM%

Devuelve un nmero al azar entre 0 y 32767.

%SYSTEMDRIVE%

Devuelve la unidad que contiene el directorio raz


del sistema, generalmente: C.

%SYSTEMROOT%

Devuelve la carpeta de administracin, que suele


ser C:\Windows.

%TEMP% %TMP%

Estas dos variables contienen la ruta a los


directorios donde las aplicaciones y programas
pueden almacenar sus archivos temporales. En
Windows 7 es:
C:\Users\NombreDeUsuario\AppData\Local\Temp
En Windows XP la ubicacin es:
C:\Documents and
Settings\NombreDeUsuario\Configuracin
local\Temp

%TIME%

Devuelve la hora actual.

%USERNAME%

Devuelve el nombre del usuario actual.

%USERPROFILE%

Devuelve la ruta del directorio donde estn los


archivos del usuario actual, normalmente:
C:\Users\NombreDeUsuario.

%WINDIR%

Devuelve la ruta de la carpeta del sistema


operativo, normalmente: C:\Windows.

Lista de las variables de entorno en Windows XP

%ALLUSERSPROFILE
%

Localizacin del perfil de todos los usuarios, por lo


general esC:\Documents and Settings\All Users

%APPDATA%

Carpeta oculta donde guardan sus datos las


aplicaciones, se encuentra dentro de la carpeta de
usuario. C:\Documents and
Settings\NombredeUsuario\Datos de programa

%CLIENTNAME%

Nombre del equipo

%CommonProgramFi
les%

Archivos comunes: C:\Archivos de programa\Archivos


comunes

%COMPUTERNAME%

Nombre del equipo

%ComSpec%

Ruta al ejecutable de
CMD: C:\WINDOWS\system32\cmd.exe

%HOMEDRIVE% y
%SystemDrive%

Unidad de sistema

%HOMEPATH%

Ruta relativa a la carpeta del usuario: \Documents and


Settings\NombredeUsuario

%Path%

Rutas a los ejecutables del sistema

%PATHEXT%

Archivos ejecutables predeterminados:


.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

%ProgramFiles%

Ubicacin de los archivos de programas,

normalmente:C:\Archivos de programa

%SystemRoot% y
%Windir%

Carpeta de Windows, generalmente: C:\WINDOWS

%TEMP% y %TMP%

Ubicacin de archivos temporales,


generalmente: C:\Documents and
Settings\Configuracin local\Temp

%USERNAME%

Nombre del Usuario

%USERPROFILE%

Carpeta del usuario, generalmente:


C:\Documents and Settings\NombredeUsuario

Descarga un archivo batch para listar algunas Variables de entorno


Sencillo e instructivo batch que lista las informaciones que suministran las
variables de entorno de nuestro sistema.

Hazte fan de nuestra pgina en Facebook, para recibir


informacin tcnica actualizada y trucos para el uso de la computadora, el
celular e internet

Recibe en Twitter a diario, sugerencias sobre


contenido til e interesante, solo sguenos.
Damos follow-back a los que nos siguen!
http://norfipc.com/inf/variables-entorno.html

Foros

Blog

Tutoriales

Cursos

Videotutoriales

Comic

Publica un tutorial

Qu es Cristalab?

Tags

Ejemplos

Contctanos

Anime

B
partner-pub-3899 FORID:10

uscar

utf-8

Olvidaste tu usuario o clave?

Recordarme

Entrar
goto//tutoriales/pr

registrate
c9216e7c82f11a

9add495650377c

register

true

Nombre de usuario

Email

Contrasea deseada

Aceptas los terminos

Registrate Cerrar
partner-pub-3899 FORID:10

UTF-8

Buscar

Tutoriales

Programacin Batch con archivos .bat

Programacin Batch con archivos .bat


Por JaLeRu el 12 de Noviembre de 2007 con 726,825 visitas
Tecnologia y otros Otros tutoriales por JaLeRu.

En este tip hablaremos sobre cmo manejar algunas funciones de Windows


mediante archivos Batch.
Batch, segn Wikipedia es:
Es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato,
guardados con la extensin *.bat que contienen un conjunto de comandos DOS. Cuando
se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma
secuencial, permitiendo automatizar diversas tareas.
Cualquier comando DOS puede ser utilizado en un archivo batch.
Hay que aclarar Batch que no es un Lenguaje de Programacin. Es un archivo de cdigo
que contiene comandos del, Shell de Windows, llamado MS-DOS, que pueden ejecutar
desde Inicio->Ejecutar->CMD.
Hay dos maneras de ejecutar comandos Batch.

Desde el Shell de Windows.

Escribindolos en un archivo de texto con extensin .bat y luego ejecutarlo.

Hola Mundo en Batch


Comenzaremos creando un Simple y clsico "Hola Mundo", escribiendo en un archivo de
texto el siguiente cdigo.
Cdigo :

@echo off
echo Hola Mundo
pause
exit

Ahora guardemos el archivo como Nombre.bat y lo ejecutamos. Nos aparecer una


pantalla negra que dir "Hola Mundo", luego una linea abajo dir "Presione una tecla para
continuar"
Explicamos:

echo:
Imprime un texto en pantalla, que es el texto que viene despus (el que le pasamos como
parmetro), que en este caso es "Hola Mundo". Echo significa eco, por lo mismo "@echo
off" elimina el eco, la repeticin de la ruta en la que nos encontramos en cada lnea
cdigo.
pause:
Como bien se lee, pausa la ejecucin del cdigo. Adems muestra el texto "Presione una
tecla para continuar"
exit:
Cierra la ventana de comandos.
Para dejar ms en claro cual sera la diferencia de no ocupar la linea @echo off la
imagen de a continuacin muestra como se vera la pantalla sin esta linea.

Ahora aprenderemos algunas funciones de Batch:

CD o CHDIR:
Si has trabajado en PHP, te sera fcil entender este concepto. Sirve para cambiar de
Directorio o Mostrar el nombre del actual. Para usarlo, CD o CHDIR seguido de la
ubicacin del directorio al cual nos moveremos.
cd "C:\"
chdir "C:\"
Los ejemplos anteriores hacen exactamente lo mismo, cambian al Disco C
COPY:
Sirve para copiar uno o ms archivos a otro destino.
Su sintaxis es la siguiente:
Copy "Direccin del archivo" "Nueva direccin"
Ejemplo:
Cdigo :

Copy "C:\archivo.txt" "C:\archivo2.txt"

Aqu copiaramos un archivo del Disco C llamado "archivo.txt" como "archivo2.txt"


Para acortar un poco podramos usar:
Cdigo :

cd "C:\"
Copy "archivo.txt" "archivo2.txt"

Donde primero cambiamos de directorio al Disco C con cd "C:\" y luego al copiar no


tenemos que especificar que esta en el Disco C ya que ya nos encontramos en el.
DEL:
Sirve para eliminar uno o ms archivos. Su sintaxis es:
Del "ARCHIVO"
Tambin se puede aadir:
del /f /q "archivo"
Donde no pide confirmacin de eliminacin (/q) y fuerza al archivo a borrarse ( /f )
Move:

Sirve para mover un archivo. Su sintaxis es:


Move "Direccin Archivo" "Nueva Direccin"

Cls:
Sirve para limpiar el contenido de la pantalla:
Ejemplo:
Cdigo :

@echo off
echo Hola, Cuando pulses la tecla se borrara el contenido y cambiara por
otro.
pause
cls
echo Ves?
pause
exit

Si quisiramos averiguar ms sobre las funciones, o conocer algunas nuevas por nuestra
propia cuenta podemos escribir en el Shell el nombre del comando seguido de /? y
aparecer toda la informacin necesaria.
Podemos poner en prctica esto de la siguiente manera:

Abramos el Shell de windows:


Inicio->Ejecutar-CMD

Una vez abierto escribamos:


Cdigo :

echo off

Para eliminar el eco.

Luego para borrar el contenido de pantalla escribe:


Cdigo :

cls

Ahora veamos la ayuda de la funcin Copy:


Cdigo :

copy /?

Cerremos la ventana:
Cdigo :

exit

Ahora vamos a crear un Batch que copie un archivo, luego lo mueva a otro directorio,
borre el original y vuelva a copiar el copiado.
En la carpeta donde crears el archivo .bat crea un archivo de texto llamado copiame.txt.
En l, escribe lo que quieras. Este ser el archivo que copiaremos.
Ahora el Batch:
Cdigo :

@echo off
echo Hola, Copiaremos un archivo
pause
copy "copiame.txt" "copiado.txt"
move "copiado.txt" "C:\copiado.txt"
del "copiame.txt"

cd "C:\"
copy "copiado.txt" "copiado2.txt"
exit

Gurdalo en la carpeta como NombreQueTuQuieras.bat, y ejectalo.


Lo que ha hecho la cadena de instrucciones es ms o menos lo siguiente:
Primero apagamos el eco, luego imprimimos en pantalla "Hola, Copiaremos un archivo"
Pausamos el intrprete para que no siga de largo.
A continuacin, copiamos el archivo "Copiame.txt" y su copia se llamar "copiado.txt". La
movemos a la carpeta raz del disco C, y eliminamos el original.
Por ultimo cambiamos de directorio al disco C, copiamos la copia y cerramos el Batch.
Despus de que ejecutemos el Batch, si vamos al Disco C, veremos que hay dos nuevos
archivos de texto: uno llamado copiado.txt y otro copiado2.txt.
Tambin si vamos a la carpeta del Batch, veremos no est el archivo de texto original,
"copiame.txt".
Creacin de nuevos archivos:
Con Batch podemos crear otros archivos. Para ello, tenemos que escribir algo como esto:
Cdigo :

echo TEXTO DE PRIMERA LINEA > nombre.extensin


echo TEXTO SEGUNDA LINEA >> nombre.extensin
echo TEXTO SIGUIENTE LINEA >> nombre.extensin

Al escribir echo seguido de un texto y el signo > creamos un archivo con el nombre que
siga.
Si ocupamos un echo seguido de un texto y el doble signo > (>>) se escribir en la
siguiente linea vaca del archivo que prosiga.
Hagamos la prueba:
Cdigo :

echo Creando un Archivo de texto > nuevo.txt

echo Esta es la Segunda linea >> nuevo.txt


echo Y esta es la Siguiente >> nuevo.txt
echo Esto esta genial >> nuevo.txt

Si ejecutamos eso, la pantalla negra se abrir y cerrar.


Pero en la carpeta en la que est nuestro batch se abra creado un nuevo archivo
"nuevo.txt" que si lo abrimos, dentro estar escrito lo que especificamos.
Personalizando el SHELL
Seguro que no te gusta mucho el aspecto del Shell.
Aqu veremos como personalizarlo un poco.
COLOR:
Con la funcin color podemos cambiar los colores de fondo y las letras. Siendo su
sintaxis:
COLOR AB
Donde A= El color de el Fondo y B= Color de las letras.
Para ver todos los colores ve el MS-Dos y escribe color/?
TITLE:
Para cambiar el ttulo de la barra de tareas solo escribe:
Title Loquequierascomotitulo
Pause Personalizado:

No te gusta que al poner pause salga "Presione una tecla para continuar..."?
Pues si escribes "pause>nul" no aparecer ni un texto.
Entonces si anteponemos un mensaje, quedara as.
Cdigo :

echo Aprieta cualquier tecla para seguir


pause>nul

Adems puedes jugar con los caracteres. Aqu un ejemplo, donde cambi los colores y
jugu con los caracteres y personalic el pause:

El cdigo que emple para esto fue:


Cdigo :

@echo off
color 30
echo ==================================
echo =
echo =
echo =

=
Personalizado

=
=

echo ==================================
echo.
echo.
echo Esto esta personalizado, para salir presiona una tecla.
pause>nul
exit

Cabe mencionar que echo. (Echo seguido de un punto)sirve para saltarse una lnea.
Matando Procesos:
Alguna vez has presionado CTRL+ALT+DELETE?
Si lo haces se abre el Administrador de tarea. En la pestaa procesos salen algunos
procesos que estn andando en tu pc, hacindoles clics y apretando "terminar proceso" lo
puedes acabar.
Con batch eso es muy fcil, se usa la funcin:
Taskkill (No funciona en todos los pc, para ver si esta disponible escribe taskkill/?)
Su sintaxis es:
Cdigo :

taskkill /f /im proceso.exe

/f Fuerza el trmino del proceso.


Un ejemplo seria escribir.
Cdigo :

taskkill /f /im wmplayer.exe

Si lo ejecutas y tienes el Reproductor de Windows Media abierto, este se cerrar.


ABRIENDO PROCESOS:
Ahora abramos ese proceso que cerramos. Para abrir procesos se usa la funcin Start
que funciona as:
Cdigo :

start proceso.exe

Tambin puedes abrir paginas web con tu explorador predeterminado.


Ejemplo1:

Cdigo :

start wmplayer.exe

Se abrir el Reproductor de Msica


Ejemplo2:

Cdigo :

start www.google.cl

Se abrir tu Explorador de Internet en Google.


VARIABLES:

Ahora aprendamos a declarar variables. Para crear una se escribe:


Cdigo :

set NOMBREVARIABLE = VALOR

Para llamarla debemos escribir su nombre entre los signos %%


Ejemplo:
Cdigo :

@echo off
set Nombre= Javier Letelier Ruiz
echo %Nombre%
pause

La pantalla nos mostrara algo as:

Para cambiar el valor solo debemos hacer esto:


Cdigo :

set Nombre= Nuevo Valor

Si quieres que tu Variable sea dinmica, osea que el Usuario la elija antepones /p:
Cdigo :

set /p Nombre=Escriba su Nombre:

Donde el Batch se pausara solo mostrando el Mensaje que va luego de "=" dejando que
se escriba algo.
Tambin podemos multiplicarlas, sumarlas, etc... con /a:
Cdigo :

set numero1=2
ser numero2=43
set /a suma= %numero1% + %numero2%
echo %suma%
pause
exit

Si ejecutamos este, nos devolver la suma de 2 + 43, 45.


Creo que con esto ser suficiente.

Ojal hayan entendido y les haya interesado el batch, que principalmente se puede usar
para facilitar algunas tareas de Windows, ya que como veremos en la segunda parte del
tip se pueden lograr cosas bastante interesantes.

Cristalab y Mejorando.la te traen el Curso Profesional de Node.js y Javascript.


Online, avanzado, con diploma de certificacin y clases en vivo.
Envia un comentario (176)

Programacin avanzada de archivos en lotes .bat

Crear base de datos con archivo .bat y .sql desde Java

Manejo de cadenas 3/4 en Python

Anterior
12345678
Siguiente

176

Por mauricio el 21 de Febrero de 2008


si uso el plus, me parecia que era un malware bueno gracias,te dejo un abrazo
Anterior
12345678
Siguiente

Publica tu comentario

El autor de este artculo ha cerrado los comentarios. Si tienes preguntas o


comentarios, puedes hacerlos en el foro
Entra al foro y participa en la discusin
o puedes...

Ests registrado en Cristalab y quieres


publicar tu URL y avatar?
Inicia sesin
No ests registrado an pero quieres hacerlo antes de publicar tu comentario?
Registrate

Blog

Foros

Tutoriales

Tutoriales de Flash

Ejemplos .fla

Anime

Videotutoriales

Cursos

Curso de Flash

Curso de HTML

Tags

Cristalab funciona gracias a Infranetworking

Potrebbero piacerti anche