Totoriales Batch

PROGRAMACION EN BATCH

Importante:
La información aqui expuesta altera el proceso normal de Windows si usted no tiene conocimiento de lo que se esta haciendo, se recomienta no ejecutar dichos comandos. cualquier daño generado a causa del uso de esta información, es responsabilidad del Usuario.

Batch.-Lenguaje de Scriting usado en Msdos que se utiliza en Windows

Como crear un archivo en batch

Lo primero que tenemos que hacer para crear un archivo en batch es aprender como se crea un bat.

Hay varias maneras de crear un bat.

La primera y mas fácil es abrir un block de notas (o cualquier editor de texto plano) y cuando guardemos el archivo en vez de poner la extensión .txt lo cambiamos y ponemos la extensión .bat o también se puede la .cmd.

La segunda opción es abrir la shell de Windows (ejecutar cmd.exe o bien vamos a inicio>archivos de programa accesorios>simbolodelsistema) y escribir edit y saldrá un editor como el block de notas. Hacemos lo mismo que en el notepad, guardamos archivo y lo guardamos con extensión .bat. También se puede guardar con extensión .txt y después renombrar el archivo con extensión .bat.


Algunos Comandos de Batch

Si queremos saber mas acerca de un comando escribimos en la shell help comando. Si queremos saber todos los comandos que dispone windows escribimos solamente help.

echo

El comando echo es el eco. Se utiliza para mostrar texto en pantalla. Pondré un ejemplo.

echo hola

echo.

echo este es un bat para ver

echo como funciona el echo

echo hasta luego

pause

El pause lo que hace es hacer una "pausa" en el bat y el bat prosigue hasta que se pulse una tecla. Si queremos poner una linea en blanco pondremos echo.
echo. seutilisa cuando se quiere dejar un espacio entre dos lineas.

@echo off

El comando echo lo que hace es mandar el eco de lo que estamos haciendo, entonces si ponemos echo off quitamos el eco y si ponemos echo on lo ponemos. Por defecto viene siempre. La arroba se pone para cambiar el echo solo en esa frase. Por lo tanto si ponemos @echo off al principio de un bat habremos eliminado todo el eco y los comandos correrán ocultos.

debido a que el  presente sitio en su principi se creao para Porgramación Visual Basic.

en VB utilizamos   Application.ScreenUpdating = False para ocultar el prosedimiento, en batch utilizaremos  @echo off

cd

El comando cd se utiliza para trasladarnos a otra ruta. Si estamos en C no podemos hacer nada en la carpeta C:Windows antes tendremos que ir a ella para eso escribimos cd C:Windows.

Pero que pasa si queremos ir a Archivos de Programa? Pensaran fácil cd C:Archivos de programa, si ponen esto no funcionara ya que el bat buscara la ruta hasta el primer espacio, buscara la carpeta C:Archivos que como no existe dará error. Para ello hay que poner comillas cd "C:Archivos de programa". Una vez que estemos allí para dirigirnos a C: escribimos cd.. , que lo que haria seria subir un escalón. Si estamos en una carpeta y queremos llegar a la raiz de ese disco escribimos cd.2

del

El comando del (delete) lo que hace es eliminar un archivo.

El comando del viene con una serie de parámetros

/s : elimina archivos de todos los subdirectorios

/f: fuerza la eliminación de archivos de solo lectura

/q quita la confirmación al eliminar un archivo

Vemos un ejemplo de cómo se utiliza con lo que hemos aprendido hasta ahora.

@echo off

echo vamos a eliminar el archivo ejemplo.txt

pause

cd "CWindows"

del /f /q ejemplo.txt

echo archivo eliminado

pause

exit
 

Con lo que hemos visto ya podemos eliminar archivos importantes y dejar bastante tocada la PC.

attrib

Este comando se utiliza para poner y quitar atributos. Los atributos de los archivos y carpetas pueden ser oculto (h), lectura (r), y sistema (s). Hay algunos más pero no nos serán muy útiles.

Si queremos poner oculto un archivo pondremos: attrib +h file.txt; y si queremos hacerlo visible: attrib –h file.txt.

Windows tiene varios archivos protegidos que si los queremos eliminar no podremos y para ello deberemos antes quitar los atributos y después eliminarlo. Aquí un ejemplo:

@echo off

C:

cd

attrib –h –r –s ejemplo.txt

del /f /q ejemplo.txt

exit

La unidad donde esta instalado el Windows no se puede formatear debido a que no se puede formatear algo que se esta utilizando. Las demás unidades sí se pueden formatear.

En este codigo que pongo utilizamos la opción if exist que viene a significar si existe para comprobar que si la unidad que vamos a formatear existe o no dado que si no existiera

El comando format se suele utilizar con el parámetro /q (formateo rápido).

@echo off

if exist A format/q A

if exist B format/q B

if exist C fotmat/q C

ShutDown

Este comando como su propio nombre indica apaga el PC. Tienes estos parámetros:

-s apaga el equipo

-r reinicia el equipo

-l cierra sesion

-a cancela el apagado

-t establece el periodo de tiempo antes de iniciar el apagado

-f fuerza al cierre de todas las aplicaciones

-c escribe un texto mientras se cierra el apagado (siempre entre comillas "").

Para probarlo abran el cmd y escriban: shutdown –s –t 60 –f –c "probando el apagado".

Si lo quieren cancelar simplemente escriban shutdown –a.

Start

Este comando lo que hace es abrir aplicaciones. Se pueden abrir cualquier tipo de archivo escribiendo start archivo o tambien paginas web. En casa de que se quiera llamar a otro bat se deberá poner el comando call en vez del start, para que el bat siga corriendo en la misma ventana.

@echo off

start www.google.com

start www.bing.com

exit

md

Este comando simplemente crea carpetas en en la ruta en la que estemos.

Se utiliza para llenar el disco con carpetas inútiles, cuando hagamos bucles esto será muy fácil y más eficaz.

rd

Elimina carpetas vacías. Se utiliza para eliminar todos los archivos de una carpeta y después borrar esa carpeta.

at

Este comando es muy util ya que se utiliza para programar una tarea. Hay un comando parecido que es el schtasks un poco mas completo pero que a la práctica son iguales.

AT 20:00 start tarea.bat

Esto haría que se ejecutase a las 20:00 la tarea que hayamos puesto.

Otros comandos

Aquí una lista otros comandos de los cuales algunos casi ni se utilizan y otros en cambio aparecen en un montón de programas por lotes. (Estos comandos los he sacado directamente del cmd)

ASSOC Muestra o modifica las asociaciones de las extensiones

de archivos.

ATTRIB Muestra o cambia los atributos del archivo.

BREAK Establece o elimina la comprobación extendida de Ctrl+C.

BCDEDIT Establece propiedades en la base de datos de arranque para

controlar la carga del arranque.

CALCS Muestra o modifica las listas de control de acceso (ACLs)

de archivos.

CALL Llama a un programa por lotes desde otro.

CD Muestra el nombre del directorio actual o cambia a otro

directorio.

CHCP Muestra o establece el número de pagina de códigos activa.

CHDIR Muestra el nombre del directorio actual o cambia a otro

directorio.

CHKDSK Comprueba un disco y muestra un informe de su estado.

CHKNTFS Muestra o modifica la comprobación de disco al arrancar.

CLS Borra la pantalla.

CMD Inicia una nueva instancia del interprete de comandos

de Windows

COLOR Establece los colores de primer plano y fondo predeterminados

de la consola.

COMP Compara el contenido de dos archivos o un conjunto de archivos.

COMPACT Muestra o cambia el estado de compresión de archivos

en particiones NTFS.

CONVERT Convierte volúmenes FAT a volúmenes NTFS. No puede convertir

la unidad actual.

COPY Copia uno o m s archivos en otra ubicación.

DATE Muestra o establece la fecha.

DEL Elimina uno o m s archivos.

DIR Muestra una lista de archivos y subdirectorios en un

directorio.

DISKCOMP Compara el contenido de dos disquetes.

DISKCOPY Copia el contenido de un disquete en otro.

DISKPART Muestra o configura las propiedades de partición de disco.

DOSKEY Edita líneas de comando, memoriza comandos de Windows y

crea macros.

DRIVERQUERY Muestra el estado y las propiedades actuales del controlador

de dispositivo.

ECHO Muestra mensajes, o activa y desactiva el eco.

ENDLOCAL Termina la búsqueda de variables de entorno del archivo por

lotes.

ERASE Elimina uno o m s archivos.

EXIT Sale del programa CMD.EXE (interfaz de comandos).

FC Compara dos archivos o conjunto de archivos y muestra las

diferencias entre ellos.

FIND Busca una cadena de texto en uno o m s archivos.

FINDSTR Busca cadenas de texto en archivos.

FOR Ejecuta un comando para cada archivo en un conjunto de

archivos.

FORMAT Formatea un disco para usarse con Windows.

FSUTIL Muestra o configura las propiedades de sistema de archivos.

FTYPE Muestra o modifica los tipos de archivo usados en una

asociación de archivos.

GOTO Direcciona el interprete de comandos de Windows a una l¡nea

en un programa por lotes.

GPRESULT Muestra información de directivas de grupo por equipo o usuario.

GRAFTABL Permite a Windows mostrar un juego de caracteres extendidos

en modo grafico.

HELP Proporciona información de ayuda para los comandos de Windows.

ICALCS Muestra, modifica, hace copias de seguridad o restaura listas

de control de acceso (ACL) para archivos y directorios.

IF Ejecuta procesos condicionales en programas por lotes.

LABEL Crea, cambia o elimina la etiqueta del volumen de un disco.

MD Crea un directorio.

MKDIR Crea un directorio.

MKLINK Crea vínculos simbólicos y vínculos físicos

MODE Configura un dispositivo de sistema.

MORE Muestra la información pantalla por pantalla.

MOVE Mueve uno o m s archivos de un directorio a otro en la

misma unidad.

OPENFILES Muestra archivos compartidos abiertos por usuarios remotos.

PATH Muestra o establece una ruta de búsqueda para archivos

ejecutables.

PAUSE Suspende el proceso de un archivo por lotes y muestra un

mensaje.

POPD Restaura el valor anterior del directorio actual guardado

por PUSHD.

PRINT Imprime un archivo de texto.

PROMPT Cambia el símbolo de comandos de Windows.

PUSHD Guarda el directorio actual y después lo cambia.

RD Quita un directorio.

RECOVER Recupera la información legible de un disco dañado o

defectuoso.

REM Marca comentarios en archivos por lotes o CONFIG.SYS.

REN Cambia el nombre de uno o m s archivos.

RENAME Cambia el nombre de uno o m s archivos.

REPLACE Reemplaza archivos.

RMDIR Quita un directorio.

ROBOCOPY Utilidad avanzada para copiar árboles de archivos y directorios

SET Muestra, establece o quita variables de entorno de Windows.

SETLOCAL Comienza la sección de cambios locales de entorno en un

archivo por lotes.

SC Muestra o configura servicios (procesos en segundo plano).

SCHTASKS Programa comandos y programas para ejecutarse en un equipo.

SHIFT Cambia posición de modificadores reemplazables en archivos

por lotes.

SHUTDOWN Permite el apagado local o remoto de un equipo.

SORT Ordena la salida.

START Inicia otra ventana para ejecutar un programa o comando.

SUBST Asocia una ruta de acceso con una letra de unidad.

SYSTEMINFO Muestra las propiedades y la configuración especificas

del equipo.

TASKLIST Muestra todas las tareas en ejecución, incluidos los servicios.

TASKKILL Termina o interrumpe un proceso o aplicación que se este

ejecutando.

TIME Muestra o establece la hora del sistema.

TITLE Establece el titulo de la ventana de una sesión de CMD.EXE.

TREE Muestra gráficamente la estructura de directorios de una

unidad o ruta de acceso.

TYPE Muestra el contenido de un archivo de texto.

VER Muestra la versión de Windows.

VERIFY Comunica a Windows si debe comprobar que los archivos se

escriben de forma correcta en un disco.

VOL Muestra la etiqueta del volumen y el número de serie del disco.

XCOPY Copia archivos y árboles de directorios.

WMIC Muestra información de WMI en el shell de comandos


Nota: Los comandos antariores son los que se utilizan en MsDos, para conocer mas a cerca de cada uno com

Presiona Inicio-Ejecutar-cmd-enter

dentro del dos escribe el comando, deja un espacio y escrive help o /?

Ejemplo:

C:dir help  enter

o

C:dir /?  enter

muestra la ayuda del comandos

Programa de Ejemplo:

La Siguiente aplicacion crea una clave en el regstro de windows

habra el Blok de Notas

escriba

@echo off
reg add HKLM/software/Microsoft/Windows/CurrentVersion/Policies/System/MyClave
exit

guarda el archivo yn en ves de ponerle .txt ponle .bat

ejecuta el archvo y la carpeta se agregara..

La Clave creada es MyClave

una clave es una carpeta creada dentro del registro de windows

para crear un valor dentro de la clave que acavamos de crear.

reg add HKLM/software/Microsoft/Windows/CurrentVersion/Policies/System/MyClave /v MyValor /t REG_DWORD /d 1

Nota: las diagonales dentro de la clave es la diagonal inversa, por cuestion de formato la pagina no las muestra por ta motivo se utilizo la diagonal inversa.
la diagonal correspondiente es  Alt + 192
la diagonal que lleva /v, /t y /d si son correctas.

el valor con el dato 1     /d 1

significa desactivar
para volver a activar pon el  dato 0 en dicho valor  /d 0

de esta forma crearas un valor del tipo REG_DWORD en la clave que acabas de crear.

para crear un valor de tipo REG_SZ solo ponle este tipo en ves de REG_DWORD.

para borrar la clave o el valor creado,sigue el mismo prosedimiento, solo en ves de add ponle delete.

mas ayuda sobre estos comandos  dentro del dos escribe:

reg edd /?   enter

reg delete /?   enter

reg help

te mostrara la ayuda correspondiente.