+ All Categories
Home > Software > Manual Batch

Manual Batch

Date post: 23-Jun-2015
Category:
Upload: comandpromt
View: 165 times
Download: 0 times
Share this document with a friend
Description:
Manual Batch
35
Transcript
Page 1: Manual Batch
Page 2: Manual Batch

Bueno   gente   la   idea   de   este   manual   es   que   alguien   que   sepa   al   menos   como  prender  la  computadora  sea  capaz  de  crear  un  pequeño  programita  constructivo…  y  al  terminar  que  ese  programita  se  transforme  en  destructivo…    Pero  empecemos  por  el  principio…  mmm…  mejor  no,  hay  un  montón  de  manuales  (o  la  misma  Internet)  que  explica  las  nociones  de  la  programación  en  batch,  de  que  se   trata   y  un  montón  de   cosas   aburridas,   solo  basta  mencionar  que   trabajar   con  batch  es  trabajar  con  una  shell  de  sistema,  para  conocer  a  este  bichito  tan  raro  solo  hace  falta  ir  a    

   Inicioà  Ejecutar  à  cmd  (apretar  enter)    //  Alternativa:  Tecla  Windos  +  R    

     Nos   va   a   abrir   la   típica   ventanita  negra,   esa   ventanita   es   la   shell   (se  cierra   escribiendo   “exit”   y   apretando  enter),   desde   allí   podemos   hacer   lo  que   queramos   como   si   estuviéramos  en   el  mismísimo  windows,   claro   que  

no   con   unas   ventanas   tan   lindas   (ni  sus  lindos  iconos)  pero  la  realidad  es  que  la  shell  es  muy  útil,  completa  y  la  forma  de  “navegar”  es  mas  eficiente…  una  vez  que  uno  sabe  como  funciona.  

 

 

1 www.hackxcrack.es1 www.hackxcrack.es

Page 3: Manual Batch

Bueno  no  perdamos  mas  tiempo,  ya  tenemos  una  noción  básica  de  lo  que  es  la  línea  de  comandos,  ahora  hace  falta  explicar  que  es  un  batch:    Un  batch,  o  bat,  es  una  serie  de  instrucciones  que  nosotros  le  vamos  a  dar  a  la  computadora  que  ésta  va  a  realizar  con  mucho  gusto.    Como   la   ejecución   es   rápida   no   vamos   a   tardar   en   darnos   cuenta   si   nos  equivocamos  así  que  pasaremos  a  aprender  a  programar  cosillas  nefastas      

¿Cómo  creamos  un  batch?    La  respuesta  es  muy  sencilla,  creamos  un  documento  de  texto  plano…  ¿que  como  lo  hacemos?    (digamos  que  estamos  en  el  escritorio)  Botón  derechoà  Nuevoà  Documento  de  texto    

   Como  verán  el  documento  de  texto  es  una  hoja  en  blanco  donde  ni  siquiera  se   le  puede  dar   formato   (formato  =   forma)  mas  que  a   la   fuente   (fuente  =   letra),  no  es  como  el  Word  con  todos  esos  botones  y  colores.    

2 www.hackxcrack.es2 www.hackxcrack.es

Page 4: Manual Batch

   Una  vez  que  creamos  el   “documento  de  texto”  con  una  rutina  adentro  (tranquilo,  ya  vamos  a  llegar  a  la  rutina)  cambiamos  la  extensión  del  archivo  a  .bat…    ¿Cómo  cambiar  la  extensión  del  archivo?  Muy   fácil,   si   el   documento   de   texto   se   llama   “nuevo   documento   de   texto.txt”,  apretamos  sobre  él…    Botón  derechoà  propiedadesà  …    …donde  dice  “nuevo  documento  de  texto.txt”  lo  cambiamos  por  “nuevo  documento  de   texto.bat”,   el   truco   es   cambiar   el   archivo   “xxxxx.txt”   a   “xxxxx.bat”,   cuando   lo  hagas  una  ventanita  te  va  a  preguntar  si  estas  seguro,  como  seguro  no  hay  nada  en  la  vida  clickea  “si”,  vas  a  ver  como  cambia  el  icono  de  una  hoja  a  una  ventanita    

               à                    Nota   Importante:   Si   el  Windows   no   esta   configurado   “apt”   (a   prueba   de   tontos)  deberías   ver   la   extensión   sin   problemas,   pero   en   general   Windows   viene  predeterminado  para  ser  “apt”,  para  solucionarlo  van  a…    Inicioà  panel  de  controlà  opciones  de  carpetas    Hacemos  clic  en   la  solapa  “ver”  y  destildamos  “ocultar   las  extensiones  de  archivo  para  tipos  de  archivos  conocidos”,  clickeamos  aplicar  y  después  aceptar,  a  partir  de  ahora  vamos  a  ver  todas  las  extensiones  de  los  archivos…    Excel  à.xls  Word  à.doc  Músicaà  .wma,  .mp3  Videosà  .avi,  .mpeg  Batchà  .bat  (este  nos  interesa)  

3 www.hackxcrack.es3 www.hackxcrack.es

Page 5: Manual Batch

Texto  planoà  .txt  (también  este)    Entre  muchas  otras  extensiones        

Rutinas    Al  fin  llegamos  a  lo  mas  divertido…  y  también  a  lo  mas  largo  y  complicado,  la  rutina  es  aquello  que  yo  deseo  que  haga  el  programa,  hay  que  tener  algo  muy  en  claro…  batch  (o  bat)  son  secuenciales,  esto  significa  que  hacen  la  rutina  1,  después  la  2,  la  tres  y  así  sucesivamente…  en  criollo…  digamos  que  mi  rutina  diaria  es…    

1. Despertarme  2. Desayunar  3. Trabajar  4. Entrar  en  hackxcrack  5. Almorzar  6. Estudiar  7. Cenar  8. Irme  a  dormir  hasta  despertarme  

 La   computadora   entiende   una   orden   debajo   de   la   otra   por   eso   hay   que   tener  cuidado  de  el  orden  en  el  cual  escribo,  digamos  que  yo  pusiera…    

1. Despertarme  2. Desayunar  Trabajar  3. Entrar  en  hackxcrack  4. Irme  a  dormir  hasta  despertarme  5. Almorzar  6. Estudiar  7. Cenar  

   En  este  caso  cuando  llegue  a    la  orden  “irme   a   dormir   hasta   despertarme”  me   saltearía   almorzar,   estudiar   y  cenar,   ya   que   estoy   durmiendo   y   no  puedo   hacer   las   órdenes   restantes…  ¿se  entiende?        

Muchas   veces   vamos   a   tener  pequeños   errores   que   solo   se   van   a  deber   a   que   la   rutina   es   incorrecta   o  no   se   encamina   por   donde   nosotros  queremos,   en   estos   casos   mi  recomendación   (después   amplio   un  truco)  es  que  se  preparen  una  taza  de  café   y   se   alisten   a   pasar   varios  minutos   observando   porque  demonios  no  quiere  funcionar.  

         

4 www.hackxcrack.es4 www.hackxcrack.es

Page 6: Manual Batch

@echo  off    Se   que   se   ve   raro   pero   es   la   línea  principal   de   cualquier   programa   en  batch,  ¿Qué  es  lo  que  hace?    El   “echo   off”   oculta   los   procesos   que  se   llevan   a   cabo   en   el   .bat   y   que  nosotros  no  tenemos  intención  que  se  vean,  y  el  @  se  encarga  de  ocultar  esa  primera  orden,  el  “echo  off”,  como  ya  dijimos   antes,   trabajar   con   el   .bat   es  como   trabajar   en   una   shell   (¿se  

acuerdan?   La   ventanita   negra),   en  realidad   el   .bat   corre   en   la   shell,   por  eso   una   vez   que   sepamos   como  funciona  el  .bat  nos  va  a  ser  mas  fácil  entender   también   la   shell,   cuando  sientan  que  a  este  tutorial  ya  lo  saben  y  no  poseen  dudas  quiten  el  “echo  off”  y   van   a   ver   la   maquina   detrás   de   la  ilusión,  por  ahora  es  mejor  ver  solo  al  hombre  volando  

 echo    Es   la  palabra  que  hay  que  poner  antes  de  una   frase  para  que  esta  aparezca  en   la  shell  (no  se  preocupen  en  un  par  de  líneas  van  a  comprender  mejor)    pause    Detiene  al  programa  con  el  mensaje  “presione  una  tecla  para  continuar…”,  no  tiene  mucha  ciencia,  detiene  la  rutina  hasta  que  apretemos  una  tecla  cualquiera,  es  muy  importante  dada  la  velocidad  de  este  tipo  de  procesos,  de  lo  contrario  se  iniciaría,  ejecutaría  y  acabaría  sin  que  nosotros  nos  diéramos  cuenta      Ahora   si,   con   estos   tres   primeros   comandos   vamos   a   crear   nuestro   primer  programa  en  batch…  ¡mua  ja  ja!    Abrimos  un  documento  de  texto  que  vamos  a  llamar  “hola”,  va  a  quedar  “hola.txt”,  lo  abrimos  y  adentro  escribimos    @echo  off  Echo  Mi  primer  práctico  en  hackxcrack  Pause  

 Lo   guardamos   y   convertimos   en   batch   cambiando   la   extensión   de   .txt   a   .bat,   es  decir   que   con   el   cambio   va   a   pasar   a   llamarse   hola.bat,   cuando   el   icono   de   la  libretita  se  convierte  en  ventanita  hacemos  doble  click  sobre  el…    Vamos  a  ver  una  ventana  negra  que  dice    Mi  primer  practico  en  hackxcrack  presione  una  tecla  para  continuar…        

5 www.hackxcrack.es5 www.hackxcrack.es

Page 7: Manual Batch

Cuando   apretamos   cualquier   tecla   el  programa   se   cierra,   si   sucede   esto  significa   que…   ¡tu   primer   programa  ha  sido  todo  un  éxito!    Bien,  de  ahora  en  mas  voy  a  obviar  la  transformación   de   .txt   a   .bat,   yo   les  voy  a  dar   la  receta  para  completar  el  .txt   y   el   resultado   que   van   a   obtener  cuando   ejecuten   el   .bat,   ya   se   esta  

haciendo  tarde  y  no  queremos  que  te  canses   con   repeticiones   que   en   el  peor   de   los   casos   podes   chequear  volviendo  unas  paginas  para  atrás    El   comando   echo   tiene   varias  funciones   muy   importantes,   ya  conocemos  dos  pero  hay  una   tercera  que  nos  va  a  servir  de  mucho  

 echo.    Exacto,   con   solo   un  punto   al   final,   la   función  de   este   “echo.”   es   crear   un   espacio  entre  líneas,  es  decir,  ngresamos  en  el  .txt  lo  siguiente…    @echo  off  Echo.  Echo  Un  espacio  Echo.  Echo  Otro  espacio  Echo.  Pause  

 Cuando  ejecutemos  el  .bat  (ejecutar  =  doble  click  sobre  la  ventanita  con  extensión  .bat)  vamos  a  ver  en  la  shell    Un  espacio    Otro  espacio    presione  una  tecla  para  continuar…    Si   lo  ves  significa  que   tu  segundo  batch  esta  echo,  y  además  aprendiste  a  usar  el  “echo.”    pause>nul    Es   igual   que   “pause”   sin   embargo   este   no   escribe   “presione   una   tecla   para  continuar…”   aunque   si   queda   a   la   espera   de   que   presiones   una   tecla   cualquiera,  probémoslo…    Ingresamos  en  el  txt.  lo  siguiente…    @echo  off  Echo  Esto  ya  resulta  fácil  Pause>nul  

 

6 www.hackxcrack.es6 www.hackxcrack.es

Page 8: Manual Batch

Cuando  ejecutemos  el  .bat  vamos  a  ver…    Esto  ya  resulta  fácil    ¿Entienden?   No   esta   ese  mensaje   de   “presione   una   tecla   para   continuar…”   y   sin  embargo  espera  a  que  presionemos  una  tecla  cualquiera  Ahora   comencemos,   digamos   que   queremos   hacer   un   programa   para   ofender   a  alguien…  (el  soft  malicioso  no  tiene  porque  ser  dañino,  ja  ja  ja)…  mas  o  menos  va  a  verse  así    Queres  saber  que  pienso  de  vos?  presione  una  tecla  para  continuar…    Acá  el  usuario  va  a  tener  que  presionar  una  tecla    Te  odio…  Sabes  que  mas?,  apreta  una  tecla    El  usuario  tiene  que  apretar  una  tecla    Te  detesto…  pero  pensándolo  bien…    Quizás…    Quizás…    Apreta  la  “s”  para  saberlo    El  usuario  tiene  que  apretar  una  tecla  (es  indiferente  que  tecla  sea)    Me  prestas  $5?    La  “p”  es  para  putearme…    El  usuario  tiene  que  apretar  una  tecla  (es  indiferente  que  tecla  sea)  y  termina.  La  solución  está  a  continuación…  pero  intentalo,  no  es  tan  difícil…    @echo  off  Echo.  Echo  Queres  saber  que  pienso  de  vos?  Pause  Echo.  Echo  Te  odio…  Echo  Sabes  que  mas?,  apreta  una  tecla  Echo.  Pause>nul  Echo  Te  detesto…  pero  pensándolo  bien…  Echo.  Echo  Quizás…  

7 www.hackxcrack.es7 www.hackxcrack.es

Page 9: Manual Batch

Echo.  Echo  Quizás…  Echo.  Echo  Apreta  la  “s”  para  saberlo  Pause>nul  Echo.  Echo  Me  prestas  $5?  Echo.  Echo  La  “p”  es  para  putearme…  Pause>nul  

   Cls    Sirve  para  limpiar  la  pantalla,  en  el  caso  anterior,  las  líneas  se  agregaban,  con  este  comando  las  líneas  visualizadas  hasta  el  momento  desaparecen…  probémoslo    @echo  off  Echo  Primera  línea  Echo.  Pause  Cls  Echo  Segunda  línea  Echo.  Pause  

 Como  van  a  comprobar  primero  aparece…    Primer  línea    presione  una  tecla  para  continuar…    Cuando  nosotros  presionemos  una  tecla  nos  va  a  borrar  todo  lo  escrito  y  continua  con  el  programa    Segunda  línea    presione  una  tecla  para  continuar…      Title    Poniendo  en  nuestro  código   la  palabra   title   seguido  por  un   texto   lo  que  vamos  a  lograr   es   que   cambie   el   nombre   de   la   ventanita,   en   su   defecto   aparece   la   ruta  donde  se  desarrolla  el  batch  (concepto  que  después  ampliaremos)      

9 www.hackxcrack.es8 www.hackxcrack.es

Page 10: Manual Batch

9 www.hackxcrack.es

Page 11: Manual Batch

Color    Esta  función  cambia  el  color  de  las  letras  y  del  fondo,  la  elección  es  hexadecimal  (es  decir  0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)  y  va  de  a  pares…    Ejemplo:   titulo   de   la   ventana   “hackxcrack”   con   color   al   mejor   estilo   Windows  registro  de  error  fatal  (letras  blancas,  fondo  azul)    @echo  off  Title  hackxcrack  Color  1f  Echo  Error  fatal  Echo.  Echo  Por  favor  reinicie  su  pc  Pause>nul  

 Msg  *    El  comando  “msg  *”  es  para  dejar  un  mensaje  desde  el  mostrador,  una  ventanita  la  cual  nos  da  las  únicas  opciones  de  aceptar  o  cerrar    @echo  off  Msg  *  Unite  a  hackxcrack…  unite  al  conocimiento  

 Al   ejecutarlo   nos   va   a   aparecer   una   ventanita   con   la  misma   leyenda,   ya   que   no  necesitamos  que  el  programa  se  detenga  no  hace  falta  ingresar  un  “pause”    

     Start    Ahora  empezamos  con  uno  de  los  comandos  mas  importantes,  start  nos  va  a  servir  (por   el   momento)   para   abrir   paginas   de   Internet,   ejecutar   programas   y   abrir  archivos…    Digamos   que   queremos   abrir   una   pagina   de   Internet,   mas   precisamente  hackxcrack,  la  orden  en  el  .txt  seria    @echo  off  Start  www.hackxcrack.es  

 

10 www.hackxcrack.es10 www.hackxcrack.es

Page 12: Manual Batch

Una  vez  mas  aclaro  que  como  no  me  interesa  ver  la  shell  (el  cuadradito  negro  que  aprendimos  a  cambiar  de  color)  así  que  no  pongo  el  pause…    Ahora  un  .txt  que  habrá  mi  navegador  de  Internet    @echo  off  Start  firefox.exe  

 o  “iexplorer.exe”  dependiendo  de  cual  tengan    ¿Se  dan  cuenta?  Con  una  simple  orden  podemos  ejecutar  un  programa  sin  siquiera  saber   en   que   lugar   de   la   computadora   esta…   para   conocer   el   comando   de   cada  software  hay  varias  recetas,  a  mi  criterio  la  mas  simple  es  hacer  correr  el  programa  después…    Alt+Ctrl+Suprà  Procesos    

     Ahí  vamos  a  ver  todo  los  procesos  con  su  sintaxis  para  ejecutarlos  con  el  comando  start,  es  solo  cuestión  de  localizar  cual  es    Otros  ejemplos:    Pdfà  acrord32.exe  ,Calculadoraà  calc.exe,  Nod32à  nod32krn.exe,  etc  

11 www.hackxcrack.es11 www.hackxcrack.es

Page 13: Manual Batch

Set    Este   individuo   es   quien   realiza   las   funciones   de   un   programa   en   batch   y   quien  además  permite  que  el  usuario   interactué  con  el…  sin  embargo  nunca  viene  solo,  siempre  lo  acompañan  sus  dos  amigos  “/a”  y  “/p”,  todo  esto  es  algo  mas  abstracto,  sin  embargo  ya  a  estas  alturas  no  nos  vamos  a  detener  con  una  simple  montañita    “Set”  significa  que  a  una  variable  le  voy  a  entregar  determinado  valor  “Set/p”  significa  que  le  voy  a  pedir  al  usuario  que  ingrese  el  valor  de  una  variable  “Set/a”  significa  que  voy  a  hacer  cálculos  con  variables    ¿Qué  es  una  variable?,  es  una  concatenación  de  letras  y/o  dígitos  al  cual  le  asigno  un  valor…  en  criollo,  letras  juntas  que  representan  algo  (¿verdad  que  sonaba  mas  complicado?),   las   variables   en   batch   no   deben   estar   definidas   al   comenzar   el  programa   (algunos   programas   si   lo   requieren),   se   puede   agregar   una   variable  donde  lo  desee  siempre  y  cuando  sea  anterior  al  momento  de  utilizarla    Digamos  que  queremos  que  la  variable  “letras”  valga  6    @echo  off  Set  letras=6  

 Ahora   le   vamos   no   solo   a   pedir   darle   un   valor   a   una   variable,   sino   que   además  vamos  a  pedirle  que  nos  muestre  el  valor  de  la  misma    @echo  off  Set  letras=6  Echo  %letras%  Pause>nul  

 Algo  curioso  que  tener  en  cuenta,  es  necesario  para  llamar  a  la  variable  encerrar  su  nombre  entre  %,  de  lo  contrario  en  este  caso  nos  mostraría  la  palabra  “letras”    En  la  pantalla  solo  vamos  a  ver    6    Cuando  apretemos  una  tecla  se  cierra    Set/p    Ahora  vamos  a   interactuar  con  el  usuario  pidiendole  a  el  que   ingrese  el  valor  de  una   variable,   ¿Cómo   lo   hacemos?,   de   la   siguiente   forma,   pero   hay   que   tener   en  cuenta  el  formato  en  que  escribimos  el  set    Set/p  vil=Que  nombre  es  el  tuyo?=    Separemoslo  para  comprenderlo  de  la  mejor  manera…  

12 www.hackxcrack.es12 www.hackxcrack.es

Page 14: Manual Batch

 “Set/p”  nos  indica  que  la  variable  va  a  pedirle  al  usuario  su  valor    “vil”  elegido  al  azar  por  mi  es  la  variable  la  cual  guardara  el  dato  ingresado    “=”  significa  el   final  del  nombre  de   la  variable  y  el  comienzo  de  el   texto  que  va  a  aparecer  en  pantalla    “Que  nombre  es  el  tuyo?=”  es  la  pregunta  o  texto  que  va  a  leer  el  usuario  antes  de  ingresar  el  dato  que  pasara  a  tomar  la  variable,  el  =  final  es  solo  para  la  percepción  del  usuario,  queda  mas  estético  pero  no  tiene  utilidad  el  agregarlo  o  no    El  .txt  seria  de  esta  forma:    @echo  off  Set/p  vil=Que  nombre  es  el  tuyo?=  Echo.  Echo  Tu  nombre  es  %vil%,  la  verdad  no  es  nada  lindo  Pause  

 Cuando  lo  convirtamos  en  .bat  vamos  a  ver…    Que  nombre  es  el  tuyo?=    Y   en   vez   de   continuar   (como   hasta   ahora   lo   hacían   todos   los   comandos),   va   a  detenerse  hasta  que  introduzcamos  un  dato…  el  set/p  como  pueden  ver  ahora  hace  las  veces  de  pause  también    Al  ingresar  un  texto  (por  ejemplo  “Alan”)  y  apretar  enter  vamos  a  ver…    Que  nombre  es  el  tuyo?=    Tu  nombre  es  Alan,  la  verdad  no  es  nada  lindo  presione  una  tecla  para  continuar…    De  la  misma  forma  podemos  pedirle  al  usuario  que  ingrese  valores  para  distintas  variables,  el  nombre  de  estas  se  lo  damos  nosotros  a  nuestro  antojo,  pero  siempre  es  mejor  un  nombre  que  se  relacione  para  minimizar  errores    Set/a    Este  nuevo  amigo  nuestro  se  encarga  de  la  aritmética  (cuentas)  cuando  yo  quiero  sumar,  restar,  multiplicar  o  dividir…    Nota  importante:  batch  no  trabaja  con  decimales  por  lo  cual  al  intentar  ingresar  un  valor   con  decimales   va   a   decirnos   “Falta   el   operador.”   por   no  mandarnos   a   freír  churros,  a  su  vez  cuando  el  resultado  de  con  decimales  solo  se  limita  a  redondear  el  numero  y  darnos  un  entero    

13 www.hackxcrack.es13 www.hackxcrack.es

Page 15: Manual Batch

La  forma  de  utilizarlo  es  la  siguiente,  digamos  que  queremos  sumar  dos  números  y  mostrarlo  por  pantalla    El  .txt  seria…    @echo  off  Set/a  suma=5+3  Echo  %suma%  Echo.  Pause  

 Esto  nos  va  a  devolver  por  pantalla  al  ejecutar  el  batch    8    presione  una  tecla  para  continuar…    Pero  esto  no  es  todo  y  lo  gracioso  es  que  nosotros  le  podemos  pedir  al  usuario  de  nuestro  batch  (combinando  el  “set/p”  y  el  “set/a”)  que  inserte   los  datos  a  sumar,  multiplicar,  restar  o  dividir…  hagamos  todo  juntos  así  los  confundo  un  poco…    .txt    @echo  off  Set/p  ero=Ingrese  el  primer  numero=  Cls  Set/p  ndo=Ingrese  el  segundo  numero=  Cls  Set/a  suma=%ero%+%ndo%  Set/a  rest=%ero%-­‐%ndo%  Set/a  mult=%ero%*%ndo%  Set/a  divi=%ero%/%ndo%  Echo  los  números  ingresados  son  %ero%  y  %ndo%  Echo.  Echo  La  suma  entre  ambos  da  %suma%  Echo.  Echo  La  resta  del  primero  por  el  segundo  da  %rest%  Echo.  Echo  La  multiplicación  da  %mult%  Echo.  Echo  La  división  del  primero  por  el  segunda  da  %divi%  Echo.  Pause  

 Lo  que  veríamos  en  la  shell  seria    Ingrese  el  primer  numero=    

14 www.hackxcrack.es14 www.hackxcrack.es

Page 16: Manual Batch

Nosotros  al  ingresar  el  primer  numero  y  dar  enter  (supongamos  que  ingreso  el  60)  va  a  borrar  la  primera  frase  (gracias  al  cls)  y  nos  va  a  aparecer  en  pantalla    Ingrese  el  segundo  numero=    El  usuario  va  a  elegir  un  segundo  numero  (en  este  caso  10)  y  al  apretar  enter  el  otro  cls  nos  va  a  borrar  la  segunda  frase  y  vamos  a  ver…    Los  números  ingresados  son  60  y  10    La  suma  entre  ambos  da  70    La  resta  del  primero  por  el  segundo  da  50    La  multiplicación  da  600    La  división  del  primero  por  el  segundo  da  6    presione  una  tecla  para  continuar…        If    Mucha   gente   se   pregunta   que   hubiera   pasado   si…,   este   “if”   significa   un   si  condicional   en   ingles,   una   elección   a   través   de   diversos   parámetros,   esto   esta  sonando  muy  complicado…  el  if  sirve  para  elegir  un  camino  en  caso  de  que  ocurra  algo…  así  quedo  bonito    El  “if”  funciona  con  su  pandilla  LSS  (menor  /  <  )  GTR  (mayor  /  >  )  LEQ  (menor  o  igual  <=  )  GEQ  (mayor  o  igual  >=  )  EQU  o  ==  (igual  /  =  )  NEQ  (distinto  /  !=  )    *En   la   segunda   parte   de   cada   paréntesis   están   los   operadores   usados   en   la  mayoría   de  lenguajes  un  poco  más  avanzados,  así  ya  os  van  sonando.    ¿Cómo  funciona?    Nosotros  le  vamos  a  preguntar  si  un  valor  es  igual,  menor,  mayor,  etc,  y  este  nos  va  a  responder  en  dos  forma,  que  el  valor  cumpla  con  el  requisito  (correcto)  o  que  no  lo  haga  (incorrecto)    “If  (variable,  nombre  o  numero)(condición…  ==,  >,<)(variable,  nombre  o  numero)  (accion  “dirección,  valor,  etc”)  else  accion  (dirección,  valor,  etc)”    

15 www.hackxcrack.es15 www.hackxcrack.es

Page 17: Manual Batch

Ufff!!!,   se   ve   complicado   pero   con   un   ejemplo,   algo   sencillo   (aclaro   que   el   valor  “correcto”  e  “incorrecto”  pueden  llevar  el  nombre  que  quieran)    @echo  off  If  1==1  (echo  correcto)  else  echo  incorrecto  Pause>nul  

 ¿se  entiende  la  sintaxis?,  este  ejemplo  siempre  nos  va  a  mostrar  correcto  ya  que  siempre  1  va  a  ser  =  a  1,   si  plantearamos  el  caso  de  que  2  sea   igual  a  1  nos  va  a  mostrar  incorrecto    Pero   no   solo   podemos   darle   un   valor   fijo,   podemos   pedirle   al   usuario   que  inserte  uno  e  inclusive  ambos  valores…  ¿Cómo?  Con  el  set/p    Nota   Importante:   a   medida   que   vamos   avanzando   no   solo   vamos   a   aprender  nuevos  comandos  sino  que  también  vamos  incitar  a  que  interactúen  entre  ellos,  el  siguiente  es  un  buen  ejemplo    Vamos   a   realizar   un   pequeño   juego   en   el   cual   nuestro   usuario   va   a   tener   que  adivinar  en  que  numero  estamos  pensando    @echo  off  Echo  Adivina  en  que  numero  estoy  pensando  Set/p  num=Es  mayor  que  0  y  menor  que  10…=  Echo.  If  %num%==6  (echo  Genio…  como  lo  sabias?)  else  echo  No…  no  adivinaste  Echo.  Pause  

 En  la  pantalla  vamos  a  ver    Adivina  en  que  numero  estoy  pensando  Es  mayor  que  0  y  menor  que  10…=    En  caso  de  escribir  6  nos  va  a  aparecer  la  leyenda    Sos  Genio…  como  lo  sabias?    presione  una  tecla  para  continuar…    En  caso  de  que  el  numero  sea  otro  vamos  a  leer…    No…  no  adivinaste    presione  una  tecla  para  continuar…    ¡Pufff!   Cuantas   cosas   vamos   aprendiendo,   quiero   dejar   en   claro   desde   ahora   y  antes  de  entrar  en  terreno  mas  turbulento  que  el  limite  te  lo  vas  a  poner  vos  y  tu  

16 www.hackxcrack.es16 www.hackxcrack.es

Page 18: Manual Batch

imaginación,  muchas   cosas   se   te   van   a   ocurrir   así   como   a  mi  mientras   busco   el  ejemplo  mas  sencillo  para  dejar  en  claro  cada  punto…    Continuemos      Goto    Ahora   comienzan   los   comandos,   por   así   llamarlos,   mas   peligrosos,   en   realidad  aquellos  que  nos  permiten  hacer  alguna  que  otra  cosilla  perversa,  el  goto  es  una  de  ellas  por  una  sencilla  razón  y  es  que…    “goto”  seria  la  traducción  literal  de  “ir  a”,  lo  que  hace  este  comando  es  enviarnos  a  una   parte   determinada   del   código   que   estamos   creando,   la   peculiaridad   del  comando  es  que  nos  va  a  enviar  al  lugar  donde  le  demos  la  orden,  solo  que  con  dos  puntitos  antes    Goto  aca  à  :aca    ¿difícil?...  hagamos  un  programita  sencillo    @echo  off  Echo  Comenzamos  Goto  segu  :terc  Echo  Tercera  línea  Goto  Cuar  :segu  Echo  Segunda  línea  Goto  terc  :cuar  Echo  Cuarta  línea  Pause  

17 www.hackxcrack.es

 Cuando  lo  pasemos  a  batch  vamos  a  ver  en  la  shell    Comenzamos  Segunda  línea  Tercera  línea  Cuarta  línea  presione  una  tecla  para  continuar…    A  que  ahora  parece  una  tontería  la  explicación  que  voy  a  dar    Goto  segu  à  :segu  Goto  terc  à  :terc  Goto  cuar  à  :cuar    

17 www.hackxcrack.es

Page 19: Manual Batch

así  de  simple,  hay  que   tener  bien  en  cuenta  el  orden  y  el  no  abusar  (por  nuestra  propia  salud)  de  este  comando,  pero  además  ahora  vamos  a  tener  que  ingresar  un  comando  de   cierre,   como  ya  hemos  visto   el  batch   sigue   la   rutina  de  arriba  hacia  abajo,  a  menos  que  el  “goto”  nos  envíe  a  una  nueva  dirección,  sin  embargo  a  veces  es  necesario  que  se  termine  en  cierto  punto  el  programa,  para  esto  (y  es  una  sana  costumbre  usarlo  siempre)  existe  el  “exit”        

17 www.hackxcrack.es

Page 20: Manual Batch
Page 21: Manual Batch

Exit    Hasta  ahora  no  lo  hemos  usado,  sin  embargo  como  dice  una  canción  “todo  tiene  un  final,  todo  termina”,  voy  demostrarles  un  ejemplo  con  el  “exit”  y  sin  el  “exit”  para  que   de   un   simple   vistazo   comprendan   la   diferencia,   pero   vamos   a   necesitar  combinarlo  con  un  “if”    @echo  off  If  1==1  (goto  op1)  else  goto  op2  :op1  Echo  Es  cierto  Pause  :op2  Echo  Es  falso  Pause  

 Que  va  a  pasar  en  esta  situación,  sabemos  que  siempre  1  va  a  ser  =  a  1  por  lo  que  vamos  a  salir  en  dirección  al  goto  “op1”  y  vamos  a  ver    Es  cierto  presione  una  tecla  para  continuar…    Pero  al  apretar  una   tecla  cualquiera  el  batch  esta  programado  para  seguir  con   la  siguiente  orden,  sin  el  “exit”  continuaría  y  veríamos    Es  cierto  presione  una  tecla  para  continuar…  Es  falso  presione  una  tecla  para  continuar…    ¿Entienden?   Una   vez   terminado   el   pause   leería   lo   que   sigue,   como   “:op2”   es   el  receptor  de  un  “goto”  lo  ignora  y  continua  con  las  demás  líneas    La  forma  adecuada  seria    @echo  off  If  1==1  (goto  op1)  else  goto  op2  :op1  Echo  Es  cierto  Pause  Exit  :op2  Echo  Es  falso  Pause  Exit  

 De  esta  forma  al   ir  por  la  rama  del  “op1”  y  llegar  al  “exit”  el  programa  al   leer  esa  línea  se  cerraría  sin  mas,  comprobemoslo    

1 www.hackxcrack.es

Page 22: Manual Batch

Es  cierto  presione  una  tecla  para  continuar…    Al  apretar  cualquier  tecla  el  programa  se  cierra  y  no  continua    Ahora  vamos  a  crear  una  clave  de  seguridad  que  nos  pregunte  un  código    @echo  off  :volv  set/p  código=Cual  es  el  código?=  if  %codigo%==1234  (goto  seguir)  else  goto  no  :no  echo.  echo  El  código  es  incorrecto  echo  Por  favor  inténtelo  de  nuevo  pause  cls  goto  volv  :seguir  echo.  echo  El  código  es  correcto  pause  exit  

 En  esta  ocasión  vamos  a  ver  en  la  shell    Cual  es  el  código?=    Si  tecleamos  1234  y  apretamos  enter  nos  va  a  enviar  por  el  lado  de  seguir  y  nos  va  a  mostrar  lo  siguiente    Cual  es  el  código?=1234    El  código  es  correcto  presione  una  tecla  para  continuar…    En  caso  de  que  tecleemos  cualquier  otra  combinación  al  apretar  enter  vamos  a  ver    Cual  es  el  código?=4826    El  código  es  incorrecto  Por  favor  inténtelo  de  nuevo  presione  una  tecla  para  continuar…    El  cls  nos  va  a  limpiar  la  pantalla  y  vamos  a  volver  a  la  pregunta…    Cual  es  el  código?=    

2 www.hackxcrack.es

Page 23: Manual Batch

A   este   lindo   ejemplo   de   un   código   de   seguridad   además   podemos   sumarle   un  contador  que  en  el  caso  de  que  lo  intente  tres  veces  sin  éxito  se  cierre  el  programa    @echo  off  Set/a  conta=0  :volv  Set/p  código=Cual  es  el  código?=  If  %codigo%==1234  (goto  seguir)  else  goto  no  :no  Set/a  conta=%conta%+1  If  %conta%==3  (exit)  else  goto  oportu  :oportu  Echo.  Echo  El  código  es  incorrecto  Echo  Por  favor  inténtelo  de  nuevo  Pause  Cls  Goto  volv  :seguir  Echo.  Echo  El  código  es  correcto  Pause  Exit  

 Destaco   que   el   “set/a   conta=0”   no   es   necesario   ya   que   cuando   reiniciamos   el  programa  los  valores  también  son  reiniciados,  sin  embargo  el  presentar  y  resetear  variables  es  utilizado  en  varios  idiomas  de  programación  por  lo  cual  es  otra  buena  costumbre  que  debemos  adquirir    El   programa   se   va   a   ver   exactamente   igual,   sin   embargo   ahora   lleva   adentro   un  pedacito  de  código  extra  que  actúa  como  contador,  mas  precisamente    Set/a  conta=%conta%+1  If  %conta%==3  (exit)  else  goto  oportu  

 Cada  vez  que  pase  por  ahí  va  a  sumar  1,  cuando  llegue  a  3  (es  decir  tres  intentos  fallados)  el  batch  se  va  a   ir  por   la  rama  del  correcto  y  va  a  seguir   la  orden  “exit”  (cerrar)    …    Digamos   que   quiero   hacer   un   “if”   con   varias   opciones,   en   este   caso   y   como   una  linda   forma  de  dar  a  conocer  el   staff  vamos  a  crear  un  batch  que  nos  muestre  el  perfil  de  cada  moderador  por  elección:      

3 www.hackxcrack.es

Page 24: Manual Batch

@echo  off  :volv  Echo  1.  $0M8RA  Echo  2.  ++C0de  Echo  3.  4n0nym0us  Echo  4.  CAM10N  Echo  5.  Cellu5  Echo  6.  Filo  y  Navaja  Echo  7.  hacker  fashion  Echo  8.  hecky  Echo  9.  juh  Echo  10.  Kr34t0r  Echo  11.  Larry  Echo  12.  moften  Echo  13.  mrobles  Echo  14.  netux  Echo  15.  Protodev  Echo  16.  Ryuu  Echo  17.  Stiuvert  Echo  18.  VaNcHoXcHk  Echo.  Echo.  Set/p  destino=Ingresa  el  numero  del  moderador  del  cual  queres  ver  su  perfil=  If  %destino%==1  (start  http://www.hackxcrack.es/members/-­‐0m8r4.html  &  goto  fin)  If  %destino%==2  (start  http://www.hackxcrack.es/members/-­‐c0de.html  &goto  fin)  If  %destino%==3  (start  http://www.hackxcrack.es/members/4n0nym0us.html  &  goto  fin)  If  %destino%==4  (start  http://www.hackxcrack.es/members/cam10n.html  &  goto  fin)  If  %destino%==5  (start  http://www.hackxcrack.es/members/cellu5.html  &  goto  fin)  If  %destino%==6  (start  http://www.hackxcrack.es/members/filo-­‐y-­‐navaja.html  &  goto  fin)  If  %destino%==7  (start  http://www.hackxcrack.es/members/hacker-­‐fashion.html  &  goto  fin)  If  %destino%==8  (start  http://www.hackxcrack.es/members/hecky.html  &  goto  fin)  If  %destino%==9  (start  http://www.hackxcrack.es/members/juh.html  &  goto  fin)  If  %destino%==10  (start  http://www.hackxcrack.es/members/kr34t0r.html  &  goto  fin)  If  %destino%==11  (start  http://www.hackxcrack.es/members/larry.html  &  goto  fin)  If  %destino%==12  (start  http://www.hackxcrack.es/members/moften.html  &  goto  fin)  If  %destino%==13  (start  http://www.hackxcrack.es/members/mrobles.html  &  goto  fin)  If  %destino%==14  (start  http://www.hackxcrack.es/members/netux.html  &  goto  fin)  If  %destino%==15  (start  http://www.hackxcrack.es/members/protodev.html  &  goto  fin)  If  %destino%==16  (start  http://www.hackxcrack.es/members/ryuu.html  &  goto  fin)  If  %destino%==17  (start  http://www.hackxcrack.es/members/stiuvert.html  &  goto  fin)  If  %destino%==18  (start  http://www.hackxcrack.es/members/vanchoxchk.html  &  goto  fin)  

 Como   siempre   va   a   haber   alguien   chistoso   que   marque   un   numero   que   no   se  encuentre  entre  las  opciones  agregamos…  :error  Echo  El  valor  que  usted  ingresa  es  incorrecto,  no  sea  payaso  e  indique  un  valor  verdadero  Pause  Cls  Goto  volv  :fin  Exit  

 :error  

4 www.hackxcrack.es

Page 25: Manual Batch

 Sirve  para  cuando  definimos  como  en  el  anterior  caso  varias  “if”  positiva,  en  caso  de  que  el  usuario  en  vez  de  utilizar  los  valores  a  los  cuales  le  asignamos  una  orden  utiliza  un  valor  fuera  de  los  if  el  “:error”  lo  recoge  y  de  ahí  sigue  como  si  fuera  un  receptor  del  “goto”      Have  a  break,  have  a  kit  kat  (  Descanso  )      Ya  hemos  aprendido   tanto  que  me  da   flojera   releer   todo  el  manual,   sin  embargo  llega   un   momento   en   el   que   hay   que   explicar   algunos   conceptos   que   en   su  momento   no   se   explicaron   por   una   sencilla   razón,   no   estaban   preparados   para  comprender   (no   se  me   ofendan,  mientras   escribo   este  manual   yo   también   estoy  aprendiendo  muchas  cosas  que  ignoraba)    Hagamos  un  recuento  de  algunas  cosas  que  en  su  momento  no  les  explique…  Esto  realmente  va  a  ser  mas  complicado    Como  ya  dijimos  trabajar  en  batch  es  igual  a  hacerlo  en  una  shell,  por  lo  cual  hay  que  tener  en  cuenta  varias  cosas  acerca  de  la  segunda  para  ampliar  conceptos  de  la  primera,  es  decir  que  entre  mas  conozcamos  una  mas  cosas  vamos  a  poder  hacer  con  la  otra    Por  ejemplo  si  abrimos  una  shell    Inicioà  ejecutarà  cmd  (apretar  enter)    

   La  famosa  pantallita  negra,  una  vez  adentro  nos  va  a  decir  que  sistema  operativo  es  y  la  ubicación  en  donde  nos  encontramos…    Ahora   si   llego   lo   difícil,   digamos   que   nosotros   queremos   crear   un   archivo   en   la  shell,  ese  archivo  (a  menos  que  le  dijera  algo  diferente)  se  crearía  en  esa  dirección,    C:\Documents  and  settings\Administrador>    

5 www.hackxcrack.es

Page 26: Manual Batch

   Es   la  que  viene  por  defecto,  y   la  mayoría,  por  no  decir  todos,  arrancan  desde  ahí,  visto  desde  Windows   esto  nos  diría   que   el   archivo  que   vamos   a   crear   esta   en   el  disco   “C”,   en   la   carpeta   “Documents   and   settings”,   dentro   de   la   carpeta  “Administrador”    Nota   importante:   Si   por   alguna   razón   no   podes   ver   las   carpetas   significa   que  Windows  esta  configurado  “apt”  (a  prueba  de  tontos),  lo  solucionamos  yendo  a    Inicioà  panel  de  controlà  opciones  de  carpetas    Hacemos   clic   en   la   solapa   “ver”   y   destildamos   todas   las   opciones   de   ocultar   y  tildamos   todas   las   de  mostrar,   clickeamos   aplicar   y   después   aceptar,   a   partir   de  ahora  vamos  a  ver  todas  las  carpetas  y  mucho  mas…    Siempre   dentro   de   la   shell   (ventanita   negra   que   se   puede   cambiar   con   la   orden  “color  1f”  entre  otras,  se  dan  cuenta,  igual  que  en  el  .txt  del  batch)  vamos  a  escribir    Help    Y   apretamos   enter,   cuando   lo   hagamos   nos   va   a   salir   una   inmensa   lista   de  comandos  que   trabajan  en   la   shell,   todos  pueden   ser  utilizados   en  batch   (se  que  mas  de  uno  se  esta   refregando   las  manos),   sin  embargo  seria  muy   largo  explicar  todos  así  que  solo  voy  a  enseñarles  a  utilizar  los  que  a  mi  (con  toda  humildad)  me  parecen   los   mas   necesarios,   como   detalle   les   comento   que   cualquier   comando  anteponiendo  la  palabra  help  nos  da  el  detalle  y   las  posibilidades  que  nos  ofrece,  suena  cada  vez  peor  pero  hagamoslo  con  nuestro  tan  conocido  “echo”,  escribamos        Help  echo    Y  démosle  enter,  nos  dice  

6 www.hackxcrack.es

Page 27: Manual Batch

 “Muestra  mensajes  o  activa  y  desactiva  el  eco  del  comando    ECHO  [ON  /  OFF]  ECHO  [mensaje]    Escriba  ECHO  sin  parámetros  para  mostrar  la  configuración  actual  del  eco”    

   Se   dan   cuenta,   nos   explica   brevemente   el   comando,   para   que   sirve   y   como  utilizarlo…  un  momento…  no  dice  nada  del   “echo.”,   ese  Bill   siempre   se  olvida  de  algo,  los  detalles,  el  “echo.”,  la  estabilidad…    Volviendo   al   tema,   nosotros   de   todo   este   grupo   de   comandos   solo   vamos   a   ver  unos   pocos,   dejo   a   la   segunda   parte   del   manual   y   a   su   autor   la   decisión   de   ir  agregando  mas  (no  le  vayan  a  decir  que  no  aprendieron  nada  conmigo)                            CD    

7 www.hackxcrack.es

Page 28: Manual Batch

“cd”   sirve   para   dirigirme   a   un   determinado   lugar,   digamos   que   quiero   estar   en  “escritorio”(todo   esto   es   mental,   no   quiero   que   comiencen   a   aceptar   el   suicidio  masivo  como  opción),  lo  que  tendríamos  que  escribir  seria    Cd  “c:\documents  and  settings\administrador\escritorio”    …  -­‐Vos,  el  morocho  que  esta  levantando  la  mano  desde  hace  unos  10  minutos  -­‐¿y  porque?  -­‐¿Me  estas  agarrando  para  la  joda?¿y  porque  que?  -­‐¿Por  qué  las  comillas?  -­‐Ahhh,   el   tema   de   las   comillas,   muy   buena   pregunta,   si   me   dejas   continuar   te  explico-­‐  -­‐Esta  bien,  pero  mas  vale  que  sea  una  buena  explicación-­‐  …    La   shell   esta   creada   en  ms-­‐dos,   como  no   entra   tanto   en   estas  pocas  hojas   aclaro  que  en   tal   idioma  hay  dos   reglas  que  nunca  aplicamos,  nombres  de  archivos  con  máximo  8  caracteres  mas  extensión  y  nombres  sin  espacio,  crear  una  carpeta  que  se  llame  “mi  día”  o  un  archivo  de  texto  con  el  titulo  “hackxcrack.txt”  es  imposible  por   lo   cual   para   que   tomen   el   valor   que   nosotros   le   damos   la   mejor   forma   es  escribir  toda  la  dirección  o  el  archivo  problemático  entre  comillas,  de  esta  forma  se  arrodilla  ante  nosotros    MD      “Md”  tiene  la  utilidad  de  crear  una  carpeta,  digamos  que  ya  estamos  posicionados  sobre  el  escritorio  (ejercicio  anterior)  ahora  tecleamos    Md  mi  hackxcrack    Que  paso,   claro   como   tenia   espacio   y   no   lo   pusimos   entre   comillas   nos   creo  dos  carpetas,  “mi”  y  “hackxcrack”…  se  lo  que  estas  pensando  y  no,  hoy  no  me  comí  un  guiso  de  payaso,  hagamoslo  bien    Md  “mi  hackxcrack”    RD    Y  ahora  si  se  creo  la  carpeta,  pero  como  todo  héroe  tiene  su  enemigo,  mientras  el  “md”  crea  el  “rd”  destruye,  borremos  esa  carpeta  que  creamos  hace  unos  segundos  de  la  siguiente  forma    Rd  “mi  hackxcrack”    Y  listo,  lo  que  creamos  ha  sido  eliminado    

8 www.hackxcrack.es

Page 29: Manual Batch

Una  vez  mas  las  cosas  se  alejan  de  batch  para  aprender  un  poco  mas,  un  comando  muy  importante  que  se  me  estaba  pasando  por  alto  en  la  shell  es  “dir”,  escribiendo  eso   vamos   a   conocer   las   subcarpetas   y   los   archivos   dentro   de   una   carpeta  determinada,  solo  por  si  se  pierden  y  no  saben  donde  están….    Aplicar   “Cd”   nos   sirve   cuando   queremos   trabajar   desde   un   punto   en   particular,  como   en   teoría   nosotros   lo   vamos   a   hacer   los   mas   mecánico   posible   vamos   a  ignorarlo  y  en  vez  de  pararnos  en  una  carpeta  y  ponernos  allí  a  trabajar  la  orden  siempre   va   a   salir   desde   la   partición,   en   la   mayoría   de   los   casos,   “C”,   en   otras  palabras   en   vez   de   pararnos   en   tal   lugar   y   escribir   siempre   lo   vamos   a   detallar  desde  el  principio    Ahora   que   finalizamos   el   teórico   hagamos   un   lindo   batch   que   incluya   esto   que  hemos  estado  viendo  y  un  “if”  que  todavía  no  vimos,  ¿tengo  que  explicarlo?...  bueno  aca  va                                                                If  exist    

9 www.hackxcrack.es

Page 30: Manual Batch

Transparente,  si  existe  algo  (nosotros  vamos  a  definir  que)  que  haga  tal  cosa,  de  lo  contrario  que  haga  tal  otra…    Como   ya   estas   canchero   en   el   tema   vamos   a   darte   el   código   para   no   hacerte  esperar    If  exist  hackxcrack.bat  (echo  Ya  existe)  else  (echo  No  existe)  

 Lo   que   va   a   hacer   con   esta   línea   su   pc   es   buscar   el   archivo   hackxcack.bat,   si   lo  encuentra  en  alguna  parte  va  a  mostrar  por  pantalla    Ya  existe    En  caso  de  no  encontrar  ese  archivo    No  existe    Ahora  si,  abarajemos  todo  lo  que  hemos  aprendido  hasta  ahora  y…  y…    Ups!  Sepan  disculparme,  hay  dos  cositas  que  me  estoy  olvidando  de  contarles    La  primera  es  que  se  puede  abrir  cualquier  carpeta  o  documento  con  el  comando  start  mas   la  ruta  en   la  cual  se  encuentra   la  carpeta,  digamos  que  queremos  abrir  una  carpeta  en  el  escritorio  que  se  llama  hackxcrack  (esto  recién  a  estas  alturas  es  entendible)    Start  “c:\documents  and  settings\administrador\escritorio\hackxcrack”  

 O  un  documento  hackxcrack.doc    Start  “c:\documents  and  settings\administrador\escritorio\hackxcrack.doc”  

 La  ruta  es  solo  un  ejemplo  de  la  pc  en  la  que  escribo  ahora,  puede  variar  según  la  configuración   o   versión   pero   al   menos   de   esta   forma   comprenden   que   la   shell  (como  el  comando  “start”)  también  puede  servir  para  abrir  carpetas  y  documentos,  además  de  los  programas  que  antes  habíamos  mencionado…                      &    

10 www.hackxcrack.es

Page 31: Manual Batch

Agregado  de  ultimo  momento…  si  uno  quiere  que  el  batch  haga  mas  de  una  acción  a   la   vez   es  necesario   agregar   “&”,   siempre   en   el   orden   adecuado  amigo,   como   lo  explicamos  en  un  principio  no  es  lo  mismo    Echo  Otra  vez  &  Goto  inicio  

 Que    Goto  inicio  &  Echo  Otra  vez  

 En  el  primer  caso  va  a  mostrarnos  por  la  pantalla    Otra  vez    Y  luego  nos  va  a  direccional  a  “:inicio”,  en  el  segundo  caso  nos  va  a  redireccionar  a  “:inicio”…  y  nada  mas,  puesto  que  al  llegar  a  esa  ejecución  nos  manda  a  otro  lado  y  el  “Echo  Otra  vez”  queda  en  la  nada                                                            >  y  >>    

11 www.hackxcrack.es

Page 32: Manual Batch
Page 33: Manual Batch

Amigos   con   esto   terminamos   la  primer  parte  del  curso  de  batch,  estos  comandos  sirven  para  darle  a  algo  un  nuevo   valor,   (>)   para   trasferir   y  borrar  lo  anterior  o  (>>)  para  agregar  a  un  valor  al  anterior  sin  borrarlo    Supongamos  que  tenemos  un  archivo  llamado   hackxcrack.txt   (somos   bien  

originales   con   los   nombres),   además  ese   ese   archivo   se   encuentra   en   mi  escritorio…    En   caso   de   no   ser   la   misma   solo  deben   aplicar   su   ruta   con   el   mismo  ejemplo,  vamos  a   crear  un  batch  que  nos   permita   darle   un   valor   a   ese  hackxcrack.txt   que   se   encuentra   en  nuestro  escritorio.  

 @echo  off  If   exist   hackxcrack.txt   (goto   seguir)   else   (Md   “c:\documents   and  settings\administrador\escritorio\hackxcrack.txt”&  goto  seguir)  :seguir  Set/p  uju=Insetar  texto=  Echo   %uju%   >   “c:\documents   and  settings\administrador\escritorio\hackxcrack.txt”    ¡Uuaauu!  Parecia  tan  complicado  pero  ya  lo  entendemos,  es  increíble…  El  programa  empieza  preguntando  si  existe  hackxcrack.txt  continua  en   :seguir,   si  no  existe   lo  crea  y  se  dirige  a   :seguir  (muy  útil  esta  parte)…  ambos  continúan  en  :seguir.  Lo  que  nos  va  a  pedir  este  batch  es:    Insertar  texto=    Una   vez   que   le   insertemos   algo   y   le  demos   enter   vamos   a   poder   ir   a  donde  está  el  archivo  hackxcrack.txt  y  abrirlo,   con   suerte   y   si   seguimos  todos   los   pasos   bien   vamos   a   ver   el  texto   que   escribimos   dentro   del  archivo,  pero  hagamos  algo,  volvamos  a   abrir   el   batch   e   insertemos   otra  cosa,   lo   que   se   les   ocurra   en   su  retorcida  mente  Algo   como   “hackxcrack,   un   lugar  donde   aprender”   una   vez   que   lo  lleven   a   cabo   vuelvan   al   archivo  hackxcrack.txt  y  ábranlo,  como  verán  el   primer   texto   desapareció   y   ahora  aparece   el   ultimo   que   ingresamos…  esa   leyenda   tan   acertada,  “hackxcrack,   un   lugar   donde  aprender”…    Noto  que  algunos  ya  van  agarrando  el  truco,   para   desconcertarlos   un   poco  en  el  final  cambien  el  “>”  por  un  “>>”  y   veamos   que   pasa   con   el   mismo  ejemplo…  

¿Lo  ven?  Con  esta  modificación  en  vez  de   borrar   el   valor   anterior   por   el  nuevo  los  va  apilando  uno  debajo  del  otro   dentro   del   hackxcrack.txt,  prueben   iniciando   varias   veces   el  programa   e   ingresando   diferentes  frases…  Ahora  si  para  terminar  voy  a  darle  un  par  de  reglas  mas…  Hay  variables   fijas  como  por  ejemplo  “%date%”   (que   es   el   día)   o  %time%  (que   es   la   hora),   como   yo   solo   voy   a  utilizar  solo  esas  dos  para  el  ejemplo  final   las   aclaro   ahora,   sin   embargo  existen   muchas   mas,   solo   hay   que  buscarlas  en  el  lugar  adecuado.  

12 www.hackxcrack.es

Page 34: Manual Batch

 A  tener  en  cuenta:    -­‐En   general   los  pequeños   errores   se   cometen   en   espacios   olvidados  o   agregados  por  equivocación…  Para  destripar  el  batch  lo  único  que  hay  que  hacer  es  poner  entre  orden  y  orden  un  “pause”   de   esta   forma   siguiendo   una   por   una   las   ordenes   vamos   a   detectar  fácilmente  el  error-­‐    -­‐Lo   que   manejamos   en   este   manual   tiene   muy   poco   de   malware,   sin   embargo  tocamos  conceptos  que  nos  van  a  ser  muy  útiles  en  la  continuación-­‐    -­‐Ser  autodidacta  es  la  mejor  opción,  aca  solo  les  muestro  una  gota  en  el  mar,  hay  muchas   mas   funciones   y   utilidades,   sin   embargo   espero   haber   cumplido   mi  propósito  que  les  haya  sido  ameno  el  ingreso  a  este  mundo  maravilloso-­‐    Ultimo  batch  que  me  parece  interesante  para  el  caso…  pero  esta  vez  lo  voy  a  dejar  para  que   lo   vean,   esta   todo  explicado  mas  arriba   así   que   cualquier  duda  pueden  visitarnos  en…    www.hackxcrack.es    como  siempre  vamos  a  estar  gustosos  de  responder  sus  dudas..    Ultimo  batch                                            

13 www.hackxcrack.es

Page 35: Manual Batch

@echo  off  title  Alan++,  ultimo  batch  color  1f  :otra  set/p  hh=que  día  es?(dd)=  echo.  set/p  dd=que  mes  es?(mm)=  echo.  set/p  aa=que  año  es?(aa)=  echo.  echo  %hh%-­‐%dd%-­‐20%aa%  set  mun=%hh%-­‐%dd%-­‐%aa%  echo.  set/p  exac=la  fecha  es  correcta?(si/no)=  if  %exac%==si  (goto  seguir)  if  %exac%==no  (goto  otra)  :error  echo.  echo  valor  invalido  echo.  goto  otra  :seguir  if  exist  ventas  (goto  upus)  else  md  "c:\documents  and  settings\administrador\escritorio\ventas"  &  goto  upus  :upus  if  exist  %mun%  (goto  ukus)  else  md  "c:\documents  and  settings\administrador\escritorio\ventas\%mun%"  &  goto  ukus  :ukus  echo  %date%>>  "c:\documents  and  settings\administrador\escritorio\ventas\%mun%\en  el  dia.txt"  set/a  total=0  :volv  cls  echo.  >>  "c:\documents  and  settings\administrador\escritorio\ventas\%mun%\en  el  dia.txt"  echo.  >>  "c:\documents  and  settings\administrador\escritorio\ventas\%mun%\en  el  dia.txt"  set/a  venta=0  set/p  venta=Monto  de  la  venta?($)=  echo  %time%  >>  "c:\documents  and  settings\administrador\escritorio\ventas\%mun%\en  el  dia.txt"  echo  %venta%  >>  "c:\documents  and  settings\administrador\escritorio\ventas\%mun%\en  el  dia.txt"  set/a  sum=%total%+%venta%  set/a  total=%sum%  echo.  echo  el  total  de  ventas  es  de  $%total%  pause  goto  volv  

   Lo  dejo  sin  solución  para  que  ustedes  me  digan  que  es…    Muchas  gracias  a  los  miembros  del  staff  y  mas  aun  a  vos  por  leer  este  manual  Espero  que  te  haya  sido  útil,    Alan++    

14 www.hackxcrack.es


Recommended