miércoles, 29 de agosto de 2007

PROGRAMACION BATCH

Hola, ya tenia tiempo sin poner un post debido a el trabajo, pero hoy les traigo una explicacion de comandos de msdos y sara hacer "programas" en Batch.

QUE ES UN ARCHIVO BATCH?

Un archivo batch (o bat) es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato, guardados con la extensión *.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, es ahi donde entra el ingenio de cada quien para hacer tareas secuenciales que sean de utilidad ya que cualquier comando DOS puede ser utilizado en un archivo batch.

EJEMPLO DE UN BATCH:

Este es el primer programa tipico de todo lenguaje de programacion.

@ECHO OFF
ECHO Hola mundo

PAUSE > NULL

exit

Con este código guardado en extensión *.bat.

Si se ejecuta, tan sólo aparecerá la pantalla del MS-DOS con el mensaje ¡Hola mundo! en la parte superior izquiera de la ventana. El batch es un lenguaje que suelen utilizar los Informaticos para hacer procesos automatizados de utilidad.

Tambien puedes agragar una impresora que este en RED a tu equipo , asignandolo al puerto LPT1 , para programas que impriminan solo por este puerto. Ejemplo

Net use LPT1: \\Equipo\HP2105 persistent:yes

Donde Equipo es el nombre del equipo en red que posea la impresora conectada fisicamente(tambien puede ser su direccion IP) HP2105 es el nombre del recurso compartido

Pudes utilizar todos los comandos MS-DOS. Para obtener mas informacion de las opciones que tiene el comando solo tienes que teclear en la linea de comandos EL_COMANDO /?
Ejemplo: COPY /?
Esta es la linsta de comandos disponibles del MS-DOS que nos sale el presionar HELP:


ASSOC Muestra o modifica las asociaciones de las extensiones de archivos.
AT Planifica comandos y programas para ejecutarse en un equipo.
ATTRIB Muestra o cambia los atributos del archivo.
BREAK Establece o elimina la comprobación extendida de Ctrl+C.
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 página 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 iniciar.
CLS Borra la pantalla.
CMD Inicia una nueva instancia del intérprete 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 a otro lugar.
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.
DOSKEY Edita líneas de comando, memoriza comandos y crea macros.
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 Da formato a un disco para usarse con Windows.
FTYPE Muestra o modifica los tipos de archivo utilizados en una asociación
de archivos.
GOTO Direcciona el intérprete de comandos de Windows a una línea en
un programa por lotes.
GRAFTABL Permite a Windows mostrar un conjunto de caracteres extendidos
en modo gráfico.
HELP Proporciona información de ayuda para los comandos de Windows.
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.
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.
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 Elimina un directorio.
RECOVER Recupera la información legible de un disco dañado o defectuoso.
REM Graba 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 Elimina un directorio.
SET Muestra, establece o elimina variables de entorno de Windows.
SETLOCAL Inicia la localización de cambios del entorno en un archivo por lotes.
SHIFT Cambia posición de modificadores reemplazables en archivos por lotes.
SORT Ordena las entradas.
START Inicia otra ventana para ejecutar un programa o comando.
SUBST Asocia una ruta de acceso con una letra de unidad.
TIME Muestra o establece la hora del sistema.
TITLE Establece el título 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.


aqui les dejo la descarga de uno que hice para hacer un backup de los drivers instalados en la pc, claro que me falta modificarlo bien para que no se meta tanta "paja" junto con los drivers, pero funciona XD.

Funciona con los siguientes requerimientos:
* Windows XP
* Estar en la secion de Administrador
* Ejecutarlo dentro del directorio C:\ (Escritorio, C:, Carpeta "juanito" o Mis Documentos si es que està dentro del directorio C:)

DESCARGA BACKUP-DRIVERS


lo que hace el programita es que recupera todos los archivos con estas extenciones:

[.ini-.inf-.cat-.dl-.ex-.xml-.chm-.ver-sdd-.oem-.sys-.dgt-.slf-.mlf-.cif-.dll]

Espero y les sea de utilidad .. XD

Si tienen ideas para hacerle mejoras ponganlas en el blog .. XD

Salu2!

12 comentarios:

aleks dijo...

que tranza ps aqui poniendo un comentario ps ta chido su blog y a ver cuando salimos al cantabar que se pone bien chido

omaru dijo...

:)
chidote, ya nomas un poquito de BASH y estas hecho :D

villatux dijo...

En esto estoy, solo que estoy estudiando mas lso codigos BASH por que es un lenguaje mas completo de scripts que el BAT, pero puse por mientras el de BATCH por que es muy sencillo de hacer, aunque muy pobre el lenguaje

En una semana pongo un post dedicado a BASH .. jejejej

Salu2!

Servicios de Cómputo dijo...

que tal, buscando en internet algo de bast y me encontré con tu blog, está muy bien.

Yo también soy informático y aveces investigo y me gusta el mundo de la informática.

Estoy queriendo realizar un programa en .bat y estoy investigando.

sigue así.

Saludos.

Anónimo dijo...

oye y como creo un archivo bath en Unix Recibe el mismo nombre o cual es el procedimiento ?? ...
jeje saludos ..

keith_86@hotmail.com

por favor ...

villatux dijo...

En unix recibe el nombre de bash y es igualmente censillo hacer programas (scripts) en ese elguaje al igual que batch de windows.. aki te dejo unos ejemplos de programacion bash:

hola mundo:

#!/bin/bash
echo Hola Mundo

Renombrador de ficheros:

#!/bin/bash
# renombra.sh
# renombrador de ficheros básico

criterio=$1
expresion=$2
sustituto=$3

for i in $( ls *$criterio* );
do
orig=$i
dest=$(echo $i | sed -e "s/$expresion/$sustituto/")
mv $orig $dest
done

__________________________-
Salu2

román dijo...

hola quisiera saber si alguien me puede decir como hacer un archivo *.bat que abra un proceso con alta prioridad. Gracias

villatux dijo...

Para hacer un archivo *.bat que abra un proceso con alta prioridad nomas utilizas los comandos que desees

puedes utilizar el :
cmdow @ /hid
esto en la primera parte del programa para ocultar el proceso que vas a ejecuta

aqui te va un ejemplo

cmdow @ /hid
goto inicio
:inicio
start http://www.villatux.blogspot.com
goto inicio
exit


aqui lo que hace este programa es que va a estar abriendo constantemente mi blog en el navegador predeterminado sin que se sepa que cosa esta abriendo la lagina, pro que se esta ejecutando en segundo plano...

Espero que te sirva,
Saludos!

Anónimo dijo...

trata de que sea "Sencillo"

Anónimo dijo...

Como puedo hacer para que el programa batch compruebe que existe "X" proceso corriendo y lo termine, muchas gracias

Anónimo dijo...

@echo off
:uno
cls
type menu.txt
set /p opcion=
if %opcion%==1 goto creacion
if %opcion%==2 goto consulta
if %opcion%==3 goto retiro
if %opcion%==4 goto modificacion
if %opcion%==5 goto salir
goto uno
:creacion
cls
echo entre la cedula
set /p cedula
echo entre el nombre
set /p nombre
echo %cedula%" "%nombre%>>datos.dat
goto uno
.salir
exit
:consulta
cls
type datos.dat
goto uno
:retiro
goto uno
:modificacion
goto uno

como haga para poder comparar un archivo!!!

Anónimo dijo...

como ahgao para que em fucione para poder retirar y consultar un usuario!