epelpad

Como hacer un programa básico en Batch

Como hacer un programa básico en Batch


Como hacer un programa básico en Batch


Hola gente, hoy les voy a explicar como hacer un programa con programación Batch.

Antes que nada, les paso a explicar como es que se programa:

Vamos a:

Inicio > Ejecutar > notepad
ó sino
Inicio > Programas > Accesorios > Bloc de notas
ó sino
Inicio > Todos los programas > Accesorios > Bloc de notas

tool

crear

Una vez que hayan abierto el Bloc de notas, empezaran la parte de código ahí mismo, ya que es
demasiado facil y no necesitan saber nada de diseño gráfico y demas.

Herramienta

codigo

Cuando tengan el código escrito y lo quieran guardar, hacen esto:
CTRL + S / CTRL + G
ó sino
Archivo > Guardar como

RECUERDEN PONER AL FINAL DEL NOMBRE, LA EXTENSION .BAT
Y SELECCIONEN EN "TIPO", "Todos los archivos".



Ahora empezaré a con la parte de los códigos...

1º Comandos sencillos

cd = Cambiar de directorio
cls = Limpia la consola
copy = Copia un archivo
start = Abre un archivo
md = Crea una carpeta
rd = Elimina una carpeta
del = Elimina un archivo
dir = Muestra lista de archivos & carpetas
taskkill = Mata proceso
shutdown = Apagar / Reiniciar / Suspender
echo = Muestra un mensaje de consola
msg * = Muestra un mensaje en modo ventana
rename = Renombra un archivo o capeta
: = Crea un bucle
goto = Realiza el bucle
title = Titulo

Tags del comando shutdown:

Tag: -s (Apaga el equipo)
Tag: -r (Apagar y reiniciar el ordenador)
Tag: -a (Anula el apagado del equipo)
Tag: -t X (Establece un tiempo. En X poner un número)

Explicación del comando "del":

Comando que se usa explícitamente para borrar carpetas ó ficheros, mediante otros comandos se
puede forzar el borrado de la carpeta, ó de cualquier otro archivo.

Tags del comando Del:
Tag: /F (Borra los archivos con fuerza bruta)
Tag: /S (Elimina los archivos indicados)
Tag: /P (Pide confirmación antes de borrar cada archivo)
Tag: /Q (No pide confirmación)

Ejemplo:

del /F /S /Q archivo.txt


Explicación del comando "title":

Pone un titulo a nuestro programa.

Ejemplo:

title Spaktlit Console


Expliación del comando "pause":

El comando pause, sirve para detener los comandos.

Tags del comando Pause:
Tag: >nul (Sirve para no mostrar el texto que produce el comando pause)


Explicación del comando "taskkill":

Este comando es usado a la hora de querer matar procesos que corren a través de nuestro sistema.
Cuando queremos parar un proceso de nuestro sistema, este comando realiza esa función, mata un proceso específico que le hayamos ordenado.

Tags del comando Taskkill:
Tag: /F (Mata los procesos con fuerza bruta)
Tag: /IM (Mata los procesos indicados)

Ejemplo:

taskkill /F /IM explorer.exe


Explicación del comando ": y goto":

El comando : sirve para hacer un bucle como su propio nombre indica, es decir, una tarea
predeterminada.
Con el comando goto, podremos ir al bucle programado.

Ejemplo:

:bucle1
echo Hola
goto bucle1


Explicación del comando "start":

El comando start, básicamente ejecuta archivos.
Pero tambien podemos usarlo para que un archivo, se abra en otro archivo.

Ejemplo:

start notepad.exe
(Esto abre el bloc de notas)

start notepad.exe C:\archivo.dll
(Esto abre el archivo.dll que esta en C:\ con el bloc de notas)


2º Explicación de comandos avanzados

@echo off
(Esto se debe colocar al principio del batch)

echo %comando%>>archivo.*
(Crea el comando en un batch, en vez de ejecutar el comando)

set /p valor=
(Sirve para escribir)

ftp -s:archivo.txt
(Se conecta a un ftp mediante los datos en el archivo.txt en forma de comandos)

Explación de comandos "If & Else":

El código if nos sirve para hacer que en el caso de que algo sea cierto o falso haga otra cosa.

if %var%==valor (comando) else (comando2)

Esto hace que si la variable llamada "var" tiene el valor "valor" ejecute el código "comando", y si no tiene ese valor que realize el valor "comando2".

Si no hay una variable contraria, eliminamos la otra parte del código.

El simbolo * (asterisco), se usa por si el valor equivale a X (caso cualquiera).

if %var%==valor (comando)

Ejemplo 1:

set /p box=Numero:
if %box%==1 goto on else goto off
:on
echo 1
pause>nul
exit
:off
echo %box%
pause>nul
exit

Ejemplo 2:

:menu
cls
set /p box=Numero:
if %box%==1 goto on
if %box%==2 goto off
if %box%==* goto error
:error
echo Comete un error
pause>nul
goto menu
:on
echo 1
pause>nul
goto menu
:off
echo %box%
pause>nul
goto menu

Ver un archivo en la consola, de forma textual:
(Este comando, lo usan generalmente para las bases de datos
de clubs, ó cosas así)

for /f %%a in (archivo.dll) do (
echo %%a
)




Espero que les haya servido de algo...
Algun día que tenga más tiempo, posteare algo mas informatívo.

22 comentarios - Como hacer un programa básico en Batch

nicocda
man, no jodas, con la extencion bat nacen los virus
2854780
nicocda dijo:man, no jodas, con la extencion bat nacen los virus

mmm nada que ver son solo indicaciones que cada uno le hace a su PC
davidlazbal
:off
echo %box%
pause>nul
goto menu


donde pones echo %box% que se supone que muestre? el numero ingresado?
davidlazbal
no, sisi.. me refiero al codigo entero
:menu
cls
set /p box=Numero:
if %box%==1 goto on
if %box%==2 goto off
if %box%==* goto error
:error
echo Comete un error
pause>nul
goto menu
:on
echo 1
pause>nul
goto menu
:off
echo %box%
pause>nul
goto menu

yo quiero que me muestre el numero ingresado en *
pero con como esta hecho el programa no lo hace o a mi me funciona mal :S
davidlazbal
probe cambiando el "echo comete un error" por "echo %box%" pero no funciona
juancracker
como podria crear un bat que mate un determinado programa como por ejemplo el explorer.exe? si me respondes van puntos y un muchas gracias