Está en la página 1de 18

Programacin avanzada de archivos en lotes .

bat
Esta es la segunda parte de mi tip Programacin Batch con archivos .bat, as que te
recomiendo leerlo si es que no estas instruido en el tema.
A continuacin veremos los siguientes temas:

Uso de etiquetas
Condicionales

Creacin de Mens

Apagado y Reiniciado de Pc

Leer archivos externos

Insertar al Registro

Otras cosas tiles

Uso de etiquetas
Como bien sabemos la lectura de los cdigos Batch se leen de una manera lineal,
pero existe una forma para que el Batch se salte lineas, o vuelva a alguna anterior.
Esto se logra conEtiquetas y la funcin GOTO.
Para crear una etiqueta solo debemos escribir:
Cdigo :
:nombreEtiqueta

Dos punto (:) seguido del nombre que le daremos a la etiqueta. De esta manera
el GOTOfunciona escribiendo
GOTO seguido del nombre de la etiqueta, como vemos en el siguiente ejemplo.
Cdigo :
@echo of
goto :mietiqueta
echo Por que me saltan?
:MiEtiqueta
echo Hola, esta es la etiqueta y nos saltamos una parte del codigo.

pause>nul
exit

Dato Interesante:
En Batch las Maysculas y Minsculas no se diferencian.
Condicionales:
El primer condicional que veremos el ms usado.
IF:
Se puede ocupar para comparar, cadenas, nmeros o para saber si existen archivos.
Ejemplo de sintaxis, if %cadena1% == %cadena2% OrdenAEjecutar
Que se podra leer de la siguiente manera. Si cadena1 es igual a Cadena2 ejecutemos
la Orden OrdenAEjecutar.
Tambin existe el NOT para ver si no son iguales.
if not %cadena1%== %cadena2% ejecutarAccion
Para saber si un archivo existe, se usa:
if exist "NombreDelArchivo" AccionAEjecutar
o tambin para ver si NO existe:
if not exist "NombreDelArchivo" AccionAEjecutar
No solo se puede ocupar el signo == para hacer comparaciones.
EQU, que es el equivalente a ==
NEQ, Sirve para cuando queremos ver Desigualdad.
LSS, Para verificar si el numero es Menor
LEQ, Para verificar si es menor o igual.
GTR, Si es mayor
GEQ, Si es Mayor e igual.
Un ejemplo de esto seria:
Cdigo :
if 5 GTR 4 echo Hola

FOR:
Nos sirve para repetir un comando varias veces, en distintas variables.
Un ejemplo, es este:
for /L %%i IN (0,1,21) DO (echo %%i)
En donde /L es para especificar que nuestro for se basara en un conteo de nmeros.
Aqu se repetir un Echo, que imprimir nmeros del 0 al 21.
%%i sera el nombre de la variable que almacenara datos
in (0,1,21) aqu especificamos que se repetir del 0 al 1 y del 1 al 21.
do (echo %%i) Esto es la funcin que se ejecutara en cada repeticin del comando,
en este caso un echo que imprimir la variable.
Batch en algunos casos SI reconoce entre maysculas y minsculas, como en el caso
de la variable %%i si esta se llamara %%I no seria reconocida como la misma.

Otro uso que puede ser aplicado en el FOR es el listado de carpetas o archivos, como
veremos a continuacin:
Listado de archivos:
Cdigo :
@echo of
FOR %%x in (a*) DO echo %%x
pause

Este cdigo, listara todos los archivos que comienzan con A.


Por que? * (asterisco) es un signo comodn, por lo cual al poner a*, estamos diciendo
cualquier archivo que tenga una A delante y luego cualquier cosa.
Otro ejemplo del uso de comodn, es listar archivos con extensin comn como seria
este:
Cdigo :
@echo of
FOR %%x in (*.jpg) DO echo %%x
pause

Aqui nos estaria listando todos los archivos que tengan la extensin .jpg
Listado de Carpetas:
FOR /D %%x in (a*) DO echo %%x
Es casi lo mismo anterior, tan solo que al indicar /D solo se aplica a directorios.
Si quisiramos que se listaran los directorios, juntos a los directorios que tienen estos
dentro se ocupa /R
FOR /R /D %%x in (a*) DO echo %%x
y si quisiramos listar todos los documentos que estn dentro de una carpeta
contando los que estn dentro de carpetas se ocupa solamente /R (Sin /D)
FOR /R %%x in (a*) DO echo %%x
Con esto creo que tenemos lo bsico, y ms importante de los condicionales. Talvez
otro claber se anime a profundizar ms en el tema.
Creacin de Mens:
Como ya vimos Condicionales y Etiquetas les enseare una manera de hacer Mens.
Comenzaramos indicando las instrucciones y las opciones, de esta manera:

Cdigo :
@echo of
:Menu
cls
echo Seleccione su opcion tecleando el numero respectivo.
echo.
echo 1. Primera Opcion
echo 2. Segunda Opcion
echo 3. Salir

Luego para seguir ocuparamos esto:


Cdigo :
set /p var=
if %var%==1 goto :Primero
if %var%==2 goto :Segundo
if %var%==3 goto exit
if %var% GTR 3 echo Error
goto :Menu

Con esto damos una variable en la que se guardara el numero insertado para luego
ser verificado por los condicionales, si el numero es mayor que 3 nos avisara que no
existe esa opcin. Tambin al principio cree una etiqueta para que se pueda volver
al men y un "cls" para limpiar la pantalla.
Para terminar creamos las respectivas etiquetas.
Cdigo :
:Primero
cls

color a
Echo Esta es la Primera Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu
:Segundo
cls
color 1a
Echo Esta es la Segunda Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu

Quedando para terminar nuestro codigo as:


Cdigo :
@echo of
:Menu
cls
echo Seleccione su opcion tecleando el numero respectivo.
echo.
echo 1. Primera Opcion
echo 2. Segunda Opcion
echo 3. Salir
set /p var=
if %var%==1 goto :Primero

if %var%==2 goto :Segundo


if %var%==3 goto exit
if %var% GTR 3 echo Error
goto :Menu
:Primero
cls
color a
Echo Esta es la Primera Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu
:Segundo
cls
color 1a
Echo Esta es la Segunda Opcion
Echo Precione una tecla para volver al menu
Pause>Nul
goto :Menu

Bueno, con eso les basta para imaginarse como crear sus mens personales.
Como vieron puede cada seccin tener su color, incluso puedes cambiar la barra de
titulo.
Ve probando, no pierdes nada.
Apagado y Reiniciado de Pc:
Una cosa muy interesante que puedes hacer con Batch es Apagar y Reiniciar tu Pc,
incluso programarlo para que apague a la hora que desees.
Es notablemente fcil.
se ocupa de la siguiente manera el apagado.
shutdown -s -t Tiempo -c "Comentario"

donde -s significa que lo apagaremos, -t debe ir seguido de los segundos que


demorara apagar. En windos XP mostrara un contador, con el comentario que va luego
de -c, pero en Windows Vista no abra ni un contador, solamente saldr una alerta con
el Comentario, que ni siquiera es obligatorio.
Bueno, de seguro quieres hacer la prueba. La puedes hacer pero antes de eso te
recomiendo que leas lo siguiente.
Puedes cancelar el apagado (Antes de que el contador termine) solamente
escribiendoshutdown -a ya sea en un archivo de texto con extensin bat, como en el
mismo Shell.
Entonces, pues has la prueba
Cdigo :
shutdown -s -t 999999 -c "Esto se esta apagando"

Tendrs suficiente tiempo para ejecutar el siguiente cdigo. (11 das

Cdigo :
shutdown -a

Con esto ya probamos los dos y podemos ser felices.


Ok, si en vez de ocupar -s usas -r el PC se reiniciara.
Tambin puedes forzar el cierre de los programas, para que no de tiempo de guardar
nada. Tan solo ocupando -f
Un ejemplo de un Pc, que se Apaga Forzosamente y que puede daar el pc y luego se
reinicia es este:
Cdigo :
shutdown -r -f -t 0 -c "Bye"

(No lo recomiendo probar en tu pc, Ya que apaga el pc en 0 segundos sin preguntar


nada. )
Para programar un apagado lo veremos al final en los Datos Extras, ya que con la
funcin AT puedes programar el apagado.

Leer archivos externos:


Para leer un archivo externo con Batch, como un archivo de texto por ejemplo. Se usa
el siguiente cdigo:
Cdigo :

type "NombreDelArchivo.txt"

Simple no?
Insertar al Registro:
Insertar al registro tu Batch puede ser muy til, la verdad yo no entiendo mucho del
registro pero le un poco y aqu tienen un ejemplo que se encuentra a ser sincero en
muchas web. Donde aremos que nuestro batch se ejecute con el Sistema.
Cdigo :
REG ADD
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v
MIBATCH.bat /t REG_SZ /d

C:\MIBATCH.bat

Con la funcin REG ADD Agregamos algo al registro. Con otros comando podemos
borrar.
Lo que sigue es la "Direccin" de donde insertaremos el registro que en este caso sera
para que nuestro batch se ejecute al iniciar Sesin.
En medio de toda la direccin se puede leer MIBATCH.bat yo puse el nombre del
Batch pero tambin se puede poner cualquier otra cosa. Ms adelante donde dice
C:\MIBATCH.bat, es la direccin completa de donde esta nuestro Batch.
Con solo esta linea estamos listos. Haz la prueba!
Otras cosas tiles:
Para terminar hablare de pequeas funciones que pueden ser de utilidad.
Msg
Esta funcin tiene otras utilidades, pero les enseare esta que no funciona en todos
los PC.
Sirve para abrir una alerta con un mensaje su utilizacin es la siguiente:
Cdigo :
msg * EsteEsMiMensaje

AT

Esta es una de las que ms me gusta, es para programar alguna accin a cierta hora.
Ejemplo:
Cdigo :
At 20:00 msg * Son Las 8 de la noche

Con esto a las 20:00 nos aparecer un mensaje que nos dir que son las 8 de la
Noche.
Tambin puedes programar un apagado o cualquier Cosa.
Si la hora que das ya paso, se tomara como para el da siguiente.
Creo que he terminado, me cost un poco. Ojala no me haya faltado nada. Disfrtenlo
y seria bueno que los Clabers aporten con ms informacin. Yo creo que seria til para
todos, incluyndome.

Quitar flecha al icono de acceso directo en Windows


Este es un sencillo Tip para quitar la flechita que aparece en los iconos de acceso
directo de los archivos de nuestro escritorio en Windows.
La cosa es simple:

Nos dirigimos a inicio > ejecutar (win+E)


Escribimos regedit

Seguimos la siguiente direccin: hkey_Classes_root/lnkfile y del lado derecho


borramosisShortCut

Vamos a hkey_Classes_root/piffile y a la derecha borramos


tambin IsShortCut

Reiniciamos el PC y ya est.

Cmo ocultar o mostrar la papelera de reciclaje en Windows


Cuantas veces has querido un escritorio lmpio y sencillo pero la maldita papelera no
te deja? En este Tip te explicar con 2 sencillos cdigos de registro cmo ocultar o
mostrar la papelera de Windows.
Lo primero que vamos a hacer es abrir nuestro bloc de notas en "Inicio > Todos los
programas > Accesorios > Bloc de notas", una vez all copiamos y pegamos
exactamente el siguiente cdigo:
Cdigo :

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
HideDesktopIcons]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
HideDesktopIcons\ClassicStartMenu]
"{645FF040-5081-101B-9F08-00AA002F954E}"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
HideDesktopIcons\NewStartPanel]
"{645FF040-5081-101B-9F08-00AA002F954E}"=dword:00000001

Lo guardamos como: ocultar.reg . Fjate bien en la extensin que sea .reg porque si
no, no funciona.
Ahora nos vamos a donde lo guardamos y le damos doble clic, nos saldr una
advertencia y hacemos clic en "Si", nos saldr una confirmacin, hacemos clic en
acepta y listo! Nuestra papelera esta oculta pero no esta oculta.. Por qu? Por que el
proceso explorer no esta actualizado para esto hacemos la combinacin de teclas Ctrl
+ Alt + Supr, nos vamos a la paleta "Procesos" y buscamos un proceso
llamado "explorer.exe" lo seleccionamos y le damos clic en el botn "Finalizar
tarea", enseguida nos vamos a la paleta "Aplicaciones" y le damos clic en "Tarea
nueva..." y escribimos en el cuadro de texto: explorer.exe
Y listo! nuestra papelera ya no esta en nuestro escritorio. Pero no esta del todo
eliminada solo esta oculta y puedes acceder a ella a travs del explorador de
Windows.
Para hacerla aparecer hacemos un nuevo documento de texto en el bloc de notas con
el siguiente cdigo:
Cdigo :
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
HideDesktopIcons]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
HideDesktopIcons\ClassicStartMenu]
"{645FF040-5081-101B-9F08-00AA002F954E}"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
HideDesktopIcons\NewStartPanel]
"{645FF040-5081-101B-9F08-00AA002F954E}"=dword:00000000

Gurdalo como: mostrar.reg . Y repetimos el paso de la actualizacin del explorer.


*Nota: Si se te hace muy complicado el paso de actualizacin del explorer puedes
simplemente reiniciar tu PC
Cambiar la ruta de Mis Documentos en Windows XP
Siempre tenemos la necesidad de tener una carpeta exclusiva donde guardar nuestros
archivos. En Windows XP se introdujo una carpeta llamada Mis Documentos donde los
programas, al utilizar la opcin de guardar archivo, llaman a esa ruta por defecto,
adems de que varios virus y troyanos atacan directamente a esta carpeta, eliminando
su contenido o dejndolo inutilizable.
Si queremos cambiar esa ruta por defecto tenemos que hacer los siguiente:

Presiona la tecla Windows + E, para llamar al Explorador de Windows.


Despues, da click derecho en la carpeta de Mis Documentos y
elige Propiedades.

Ahora slo tienes que dar click en el botn de Mover y seleccionar la carpeta
que deseas.

Espero les sea til.


Personalizar el men desplegable "Enviar a" de Windows XP
Dos tips atrs, FeNtO escribi la forma "clsica" de instalar tipografas en Windows
XP. Lo que me ha hecho recordar un truco que utilizaba para (entre otras cosas)
instalar tipografas en el PC. Lo hacia modificando los accesos del men desplegable
"Enviar a."
El men desplegable "Enviar a", es un men que aparece al presionar con el botn
derecho del mouse sobre cualquier fichero en Windows. Por defecto las opciones
permitidas son crear un archivo .zip, crear una acceso directo en el escritorio,
mandarlo por email o a algn disco o disquetera.

lo interesante es que podemos personalizar que queremos que aparezca en ese


listado de opciones.
Lo que tenemos que hacer es abrir la carpeta "sendto", que est situada dentro de
nuestra carpeta de usuario dentro de "Documents and Settings".
Hay qye tener en cuenta que esta carpeta es una carpeta oculta, con lo que
deberemos activar la opcin de visualizacin de carpetas ocultas de Windows para
poder acceder a ella.

En esta carpeta se encuentran los accesos a las opciones del men.


En el ejemplo de las tipografas yo lo que hice es colocar un acceso directo a la
carpeta "Fonts" situada dentro de la carpeta "Windows". Donde estn situadas las
tipografas instaladas.

De esta manera dndole con el botn derecho sobre cualquier fichero de fuentes que
quisiese instalar, poda enviarlo directamente a la carpeta "Fonts" del sistema,
instalando as la tipografa.

Editar este tipo de accesos es muy til en muchos casos. Por ejemplo podemos aadir
ah nuestros droplets de Photoshop, renombres de ficheros, cambios de formatos de
video etc...
Cmo cambiar el nombre a la papelera de reciclaje en Windows
Si, se que es una tontera pero... Quien no ha querido cambiarle el nombre a la
dichosa Papelera de reciclaje por algo como Zampabollos Asesino!? Yo si!
La forma de hacerlo es sencilla, tan solo deberis seguir estos pasos:

Ir a Inicio/Ejecutar.

Escribir regedit y Aceptar. Con esto estamos abriendo el registro de Windows.

ATENCIN: A partir de aqu id con extremo cuidado. El registro siempre es algo


complicado si no lo conoces bien. No me hago responsable de cualquier mal
funcionamiento de la maquina.

En el editor de registro ir a Edicin/Buscar y buscad la cadena Papelera de


reciclaje.

Substituid todos las cadenas que encontris en los registros por el nombre que
le queris dar.

Para pasar al siguiente registro pulsad F3. Continuad hacindolo hasta que no
queden registros.

Cuando acabis vuestra Papelera de reciclaje habr cambiado de nombre.


Creacin de un CD-ROM Autoejecutable
Hola a todos, voy a mostrar como crear un CD autoejecutable con Flash y un bloc de
notas. Lo creis o no, an hay mucha gente sin Internet, o con una conexin "casual" a
la que solo acceden rara vez, pero aun as, sta gente debiera de poder ensear
cualquier proyecto, sin necesidad de tenerlo colgado en Internet. Usando Flash, y el
bloc de notas voy a ensear a crear una presentacin en Flash, autoejecutable y con
un icono propio.
Para realizar sto, necesitars:

Un programa de edicin de texto.(Yo usar el bloc de notas, pero tambin


puedes usar Word, o cualquier otro).
Claramente, una aplicacin Flash(Yo me quedo con la MX 2004).
Y el software de grabacin de discos....Nero, Clone Cd, etc...

Recuerda que sto slo funcionar cuando el disco est en el ordenador!


Paso primero - Creacin del archivo .inf:
Abrimos el editor de texto, y escribimos:

Cdigo :
[autorun]
open=presentacion.exe
icon=icono.ico

Nos deberia de quedar asi:

Windows buscar en el CD, antes de decidir qu hacer. Si se encuentra [autorun], se


busca la siguiente lnea, "Open=" y se abrir el archivo se indica en esa lnea, que en
este caso es "presentacion.exe".
Tambien se puede usar "open=/Nombre_de_la_carpeta/presentacion.exe", si el archivo
.exe est dentro de una carpeta.

La lnea siguiente, "icon=icono.ico", es el icono que se vera en la carpeta de Mi Pc, o


Equipo (Segn Windows),cuando se inserte el Cd en el ordenador. Puedes usar el
logotipo de la empresa, una imagen, etc...
Se puede usar un archivo .bmp en lugar de uno .ico, pero ste es mas comn.
tampoco tiene porque llamarse icono el archivo, se puede poner el nombre que se
quiera, pero tiene que haber concordancia entre el editor de texto, y la imagen. Si no
se quiere poner una imagen, Windows tomar la imagen por defecto del propio icono
de CD, pero esa lnea abra que borrarla y quedara as:

Las imagenes deben ser de 16x16px

Y asi, el archivo .inf est acabado,

También podría gustarte