elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Como hacer una consola batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como hacer una consola batch  (Leído 3,554 veces)
zikotik

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Como hacer una consola batch
« en: 4 Julio 2013, 22:55 pm »

Estaba aburrido, así que me puse a armar una consola en batch para llamar comandos ubicados en una carpeta bin que se encuentra en el mismo lugar que la consola (es decir, que no funciona con los comandos comunes del cmd, sino que tienen que hacer los suyos y meterlos en la carpeta bin)

La consola verifica que la cantidad de caracteres introducidos sea igual o mayor a 6, y si es así entonces verifica también que los primeros 3 caracteres equivalgan a algún comando que haya en la carpeta bin, luego verifica que los siguientes 2 caracteres, equivalgan al operador :: (cuatro puntos), y luego verifica si se insertó una instrucción o no. En caso que la cantidad de caracteres introducidos sea menor a 6, devuelve un error.

El código de la consola es el siguiente:
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title Konsola
  4. color 8F
  5. cd bin
  6.  
  7. :main
  8. set len=0
  9. set "kon=....."
  10. set /p kon=
  11.  
  12. :read
  13. if not "!kon:~%len%,1!"=="" (
  14.  set /a len+=1
  15.  goto read
  16. )
  17.  
  18. :chk
  19. if %len% LSS 6 (goto error)
  20. set kom=%kon:~0,3%
  21. set chk=%kon:~3,2%
  22. set ins=%kon:~5%
  23. if %chk%==:: (goto kom) else (goto error)
  24.  
  25. :kom
  26. if exist %kom%* (call %kom% %ins%) else (goto error)
  27. goto main
  28.  
  29. :error
  30. echo [x] invalid kom.
  31. goto main

Digamos que quieren llamar a un comando sería:

Código
  1. [comando]::[instrucción]

Por ejemplo: supongamos que tienen un comando en la carpeta bin llamado kpr y lo que hace es matar un proceso, entonces tendrían que hacer:

Código
  1. kpr::chrome.exe

Otro ejemplo sería: si tienen un comando frw en la carpeta bin y lo que hace es activar o desactivar el firewall tanto con la instrucción firewall como con la instrucción set, entonces tendrían que hacer:

Código
  1. frw::firewall.off
  2. frw::firewall.on
  3. frw::set.off
  4. frw::set.on

Espero que les guste, si tienen alguna duda, pregunten.
Y si tienen algún consejo, aconsejen.


« Última modificación: 5 Julio 2013, 19:38 pm por zikotik » En línea

Meine programmen

Desconectado Desconectado

Mensajes: 121



Ver Perfil
Re: Como hacer una consola batch
« Respuesta #1 en: 7 Julio 2013, 12:27 pm »

No me gustaria parecer ignorante, pero no le acabo de ver la utilidad  :huh:


En línea

REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!

zikotik

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Como hacer una consola batch
« Respuesta #2 en: 8 Julio 2013, 17:04 pm »

No me gustaria parecer ignorante, pero no le acabo de ver la utilidad  :huh:

De hecho es sólo últil para los que quieran hacer sus propios comandos para hacer cosas que a los usuarios les interesaría, no es para cosas comunes como cmd.

Si querés hacer una consola más customizada, pero para ejecutar comandos DOS, te conviene ésto:

Código:
@echo off
title Konsola
color 0F

:main
set /p kon=#:
%kon%
goto main
En línea

Meine programmen

Desconectado Desconectado

Mensajes: 121



Ver Perfil
Re: Como hacer una consola batch
« Respuesta #3 en: 8 Julio 2013, 17:36 pm »

De hecho es sólo últil para los que quieran hacer sus propios comandos para hacer cosas que a los usuarios les interesaría, no es para cosas comunes como cmd.
Bueno, no se si se pueden llamar comandos, pero yo en mi PC tengo algunos scripts en batch que puedo llamar desde la cmd. Tengo uno que descompone en factores primos el numero que le des, por ejemplo, y tambien tengo otros que automatizan tareas. ¿Qué ventaja supondria que me hiciera una consola? Supongo que la mayor diferencia consistira en el aspecto de la consola, ¿no?
En línea

REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!

OmarHack


Desconectado Desconectado

Mensajes: 1.268


Ver Perfil
Re: Como hacer una consola batch
« Respuesta #4 en: 8 Julio 2013, 17:43 pm »

Bueno, no se si se pueden llamar comandos, pero yo en mi PC tengo algunos scripts en batch que puedo llamar desde la cmd. Tengo uno que descompone en factores primos el numero que le des, por ejemplo, y tambien tengo otros que automatizan tareas. ¿Qué ventaja supondria que me hiciera una consola? Supongo que la mayor diferencia consistira en el aspecto de la consola, ¿no?
La mayor ventaja es que podrías llamar a todos los scripts desde un solo lugar.
Por ejemplo, si todos los días ejecutas un batch que borre los archivos temporales, otro que arregle el registro, otro para descomponer factores primos, otro que sea una calculadora, etc etc, podrías llamarlos a todos en segundos y tenerlos todos desde el mismo sitio.

Sería como tener una cmd personal, la utilidad se la pones tú.
Un saludo. 

En línea

I like to test things.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda]Como podria hacer lo siguiente con batch?
Scripting
Mamsaac 3 3,049 Último mensaje 19 Septiembre 2006, 15:18 pm
por Division-x
como puedo hacer un troyano en batch
Scripting
blha 6 10,237 Último mensaje 21 Diciembre 2009, 01:32 am
por CaronteGold
Como prodria hacer esto en batch?? « 1 2 »
Scripting
*LaPerla 10 6,934 Último mensaje 28 Marzo 2010, 12:35 pm
por ---saster---
[Batch] | [Debug.exe] ¿Como hacer una salida ascii a un .txt?
Scripting
klaine 4 5,930 Último mensaje 29 Marzo 2011, 22:57 pm
por klaine
Como hacer que salgan los resultados en la consola con un bat
Scripting
Ipanemaa 4 5,059 Último mensaje 21 Enero 2012, 16:46 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines