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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  unificar 2 bat
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: unificar 2 bat  (Leído 3,807 veces)
egiptoelcairo

Desconectado Desconectado

Mensajes: 80


Ver Perfil
unificar 2 bat
« en: 15 Octubre 2011, 23:20 pm »

hola buenas e hecho estos dos bat y queria unificarlos en 1 solo el primero se llama premium y el segundo normal lo que quiero es que cuando ejecute el programa que me pregunte cual quiero ejecutar premium o normal y yo tenga que poner 1 o 2 segun la opción y que no tenga que dar a enter encuanto ponga el numero se ejecute el programa gracias

premium
@echo off
@ipconfig/release
@netsh interface ip set dns "Conexion de area local" static x.x.x.x
@netsh interface ip add dns "Conexion de area local" x.x.x.x
@pconfig/renew "Conexion de area local"

normal
@echo off
@ipconfig/release
@netsh interface ip set dns "Conexion de area local" static none
@ipconfig/renew


« Última modificación: 16 Octubre 2011, 22:30 pm por egiptoelcairo » En línea

Chazy Chaz

Desconectado Desconectado

Mensajes: 65



Ver Perfil
Re: unificar 2 bat
« Respuesta #1 en: 17 Octubre 2011, 02:06 am »

Hola egiptoelcairo

Lo que pides no es nada complicado. Lo de get char te lo dejo ati. Porque creo que no se puede. Si alguien lo sabe que no se corte. Suerte.

Código:
ECHO OFF
CLS
:MENU
CLS
ECHO.
ECHO ...............................................
ECHO PRESS 1 or 2 to select your task, or 3 to EXIT.
ECHO ...............................................
ECHO.
ECHO 1 - Use Premium
ECHO 2 - Use Normal
ECHO 3 - EXIT
ECHO.
SET /P X=Type 1, 2, or 3, then press ENTER:
IF %X%==1 GOTO PREMIUM
IF %X%==2 GOTO NORMAL
IF %X%==3 GOTO EOF
:PREMIUM
CLS
ECHO This is the premium option
***TU CODIGO AKI***
PAUSE
GOTO MENU
:NORMAL
CLS
ECHO This is the normal option
***TU CODIGO AKI***
PAUSE
GOTO MENU


« Última modificación: 17 Octubre 2011, 02:11 am por Chazy Chaz » En línea

egiptoelcairo

Desconectado Desconectado

Mensajes: 80


Ver Perfil
Re: unificar 2 bat
« Respuesta #2 en: 17 Octubre 2011, 02:13 am »

no existe ninguna opcion para no tener que presionar enter despues?
En línea

Chazy Chaz

Desconectado Desconectado

Mensajes: 65



Ver Perfil
Re: unificar 2 bat
« Respuesta #3 en: 17 Octubre 2011, 02:17 am »

Te va la vida en ello?? Tan solo es presionar ENTER xD
En línea

egiptoelcairo

Desconectado Desconectado

Mensajes: 80


Ver Perfil
Re: unificar 2 bat
« Respuesta #4 en: 18 Octubre 2011, 12:55 pm »

esque eso era la gracia  para reducir las teclas   
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: unificar 2 bat
« Respuesta #5 en: 3 Noviembre 2011, 03:58 am »

Que yo sepa unificar es juntar, y tú lo que pides ni se asemeja xDDD

Lo que pides es IMPOSIBLE de realizar, usando la consola sin ayuda. Así que cuanto más complicado, más cosas hay que hacer... Lo que quiero decir es que con esto te ahorrarás el "ENTER", Sí, pero en vez de un batch deberás usar 3, además de 2 vbs.

1-Batch principal (MENÚ)
2--VBS hotkey Normal.vbs
3---VBS hotkey Premium.vbs
4----Batch normal
5-----Batch premium

Nota: Parece mucho, pero no te preocupes, TODO lo puedes simplificar en un ÚNICO BATCH sin usar nada más, abajo del todo te dejo un ejemplo.

El método es un VBS para crear un acceso directo para que cuando presiones "1" o "2" se ejecutase el batch que quieres... Vamos, como si fuera un "hotkey" temporal, lo ejecutas antes del "Set /p" y listo.

El vbs de ejemplo sería este:

Código
  1. Option Explicit
  2. Dim objShell, objDesktop, objLink
  3. Dim strAppPath, strWorkDir, strIconPath
  4.  
  5. strWorkDir = "%SystemRoot%"
  6. strAppPath = "%SystemRoot%\notepad.exe"
  7. strIconPath = "%SystemRoot%\system32\SHELL32.dll,17"
  8.  
  9. Set objShell = CreateObject("WScript.Shell")
  10. objDesktop = objShell.SpecialFolders("Desktop")
  11. Set objLink = objShell.CreateShortcut(objDesktop & "\NOTEPAD.lnk")
  12.  
  13. objLink.Description = "NOTEPAD"
  14. objLink.HotKey = "CTRL+N"
  15. objLink.IconLocation = strIconPath
  16. objLink.TargetPath = strAppPath
  17. objLink.WindowStyle = 3
  18. objLink.WorkingDirectory = strWorkDir
  19. objLink.Save
  20.  
  21. WScript.Quit
  22.  
(Al apretar CONTROL+N se abre el notepad)

O también puedes usar la herramienta Colous desde Batch, la encontrarás en el foro, pero no se utilizar correctamente esa función, aunque también encontrarás la información necesaria en el foro.

Aqui te dejo los 5 archivos para que lo veas tú mismo, ya está todo configurado, menos el batch premium y normal porque no los tengo... Solo tienes que descomprimir, y usar el menu.batch.



¿¿¿¿Y como se puede simplificar todo lo que he mencionado, solamente usando un batch??? pues muy fácil, así:


Código
  1. @ECHO OFF
  2.  
  3. REM EleKtrO H@ckeR
  4.  
  5.  
  6.  
  7. REM Creamos el batch normal y premium.
  8.  
  9. echo @echo off > "%TEMP%\Normal.bat"
  10. echo echo Este es el batch premium. >> "%TEMP%\Normal.bat"
  11. echo Pause >nul >> "%TEMP%\Normal.bat"
  12. echo exit >> "%TEMP%\Normal.bat"
  13.  
  14.  
  15. echo @echo off > "%TEMP%\premium.bat"
  16. echo echo Este es el batch premium. >> "%TEMP%\premium.bat"
  17. echo Pause >nul >> "%TEMP%\premium.bat"
  18. echo exit >> "%TEMP%\premium.bat"
  19.  
  20.  
  21.  
  22. REM Creamos los hotkeys
  23.  
  24. REM echo Option Explicit>"%TEMP%\Normal.vbs"
  25. REM echo Dim objShell, objDesktop, objLink>>"%TEMP%\Normal.vbs"
  26. REM echo Dim strAppPath, strWorkDir, strIconPath>>"%TEMP%\Normal.vbs"
  27. REM echo strWorkDir = "%TEMP%">>"%TEMP%\Normal.vbs"
  28. REM echo strAppPath = "%TEMP%\Normal.bat">>"%TEMP%\Normal.vbs"
  29. REM echo strIconPath = "%SystemRoot%\system32\SHELL32.dll,17">>"%TEMP%\Normal.vbs"
  30. REM echo Set objShell = CreateObject("WScript.Shell")>>"%TEMP%\Normal.vbs"
  31. REM echo objDesktop = objShell.SpecialFolders("Desktop")>>"%TEMP%\Normal.vbs"
  32. REM echo Set objLink = objShell.CreateShortcut(objDesktop & "\Normal.lnk")>>"%TEMP%\Normal.vbs"
  33. REM echo objLink.Description = "Normal">>"%TEMP%\Normal.vbs"
  34. REM echo objLink.HotKey = "2">>"%TEMP%\Normal.vbs"
  35. REM echo objLink.IconLocation = strIconPath>>"%TEMP%\Normal.vbs"
  36. REM echo objLink.TargetPath = strAppPath>>"%TEMP%\Normal.vbs"
  37. REM echo objLink.WindowStyle = 3>>"%TEMP%\Normal.vbs"
  38. REM echo objLink.WorkingDirectory = strWorkDir>>"%TEMP%\Normal.vbs"
  39. REM echo objLink.Save>>"%TEMP%\Normal.vbs"
  40. REM echo WScript.Quit>>"%TEMP%\Normal.vbs"
  41.  
  42. REM echo Option Explicit>"%TEMP%\Premium.vbs"
  43. REM echo Dim objShell, objDesktop, objLink>>"%TEMP%\Premium.vbs"
  44. REM echo Dim strAppPath, strWorkDir, strIconPath>>"%TEMP%\Premium.vbs"
  45. REM echo strWorkDir = "%TEMP%">>"%TEMP%\Premium.vbs"
  46. REM echo strAppPath = "%TEMP%\Premium.bat">>"%TEMP%\Premium.vbs"
  47. REM echo strIconPath = "%SystemRoot%\system32\SHELL32.dll,17">>"%TEMP%\Premium.vbs"
  48. REM echo Set objShell = CreateObject("WScript.Shell")>>"%TEMP%\Premium.vbs"l
  49. REM echo objDesktop = objShell.SpecialFolders("Desktop")>>"%TEMP%\Premium.vbs"
  50. REM echo Set objLink = objShell.CreateShortcut(objDesktop & "\Premium.lnk")>>"%TEMP%\Premium.vbs"
  51. REM echo objLink.Description = "Premium">>"%TEMP%\Premium.vbs"
  52. REM echo objLink.HotKey = "1">>"%TEMP%\Premium.vbs"
  53. REM echo objLink.IconLocation = strIconPath>>"%TEMP%\Premium.vbs"
  54. REM echo objLink.TargetPath = strAppPath>>"%TEMP%\Premium.vbs"
  55. REM echo objLink.WindowStyle = 3>>"%TEMP%\Premium.vbs"
  56. REM echo objLink.WorkingDirectory = strWorkDir>>"%TEMP%\Premium.vbs"
  57. REM echo objLink.Save>>"%TEMP%\Premium.vbs"
  58. REM echo WScript.Quit>>"%TEMP%\Premium.vbs"
  59.  
  60.  
  61.  
  62. REM Copiamos e iniciamos los "hotkeys"
  63.  
  64. Copy /y "*.vbs" "%TEMP%\" >nul 2>&1
  65.  
  66. "%TEMP%\Normal.vbs"
  67. "%TEMP%\Premium.vbs"
  68.  
  69. REM Mostramos el menú...
  70.  
  71. :MENU
  72. ECHO ...............................................
  73. ECHO PRESS 1 or 2 to select your task, or 3 to EXIT.
  74. ECHO ...............................................
  75. ECHO 1 - Use Premium
  76. ECHO 2 - Use Normal
  77. Echo Type 1, 2, or 3, Then press ENTER:
  78.  
  79.  
  80.  
  81. REM Por último, Borramos la basurilla y finalizamos
  82.  
  83. Del /Q "%TEMP%\Normal.bat";"%TEMP%\Premium.bat" >nul
  84. Del /Q "%TEMP%\Normal.vbs";"%TEMP%\Premium.vbs" >nul
  85. Del /Q "%userprofile%\desktop\Normal.lnk";"%userprofile%\desktop\Premium.lnk" >nul
  86.  

EDITO: BUENO me acabo de dar cuenta que los VBS contienen caracteres especiales & así que el batch no puede simplificar los vbs, no puedes escribir los vbs desde el batch, pero si que sirve para crear los otros dos batch. así que borra la parte de "creamos las hotkeys", y haz un "copy /Y con los 2 .VBS xD. Bueno ya lo he editado el batch con el copy /Y.

Saludos.
EleKtrO H@ckeR.
« Última modificación: 3 Noviembre 2011, 11:36 am por EleKtro H@cker » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Unificar DVD
Multimedia
LeoXV 3 3,287 Último mensaje 7 Octubre 2008, 21:35 pm
por LeoXV
Se pueden unificar Frames ...???
Multimedia
4971231 9 9,742 Último mensaje 28 Junio 2011, 10:09 am
por Songoku
Windows 9 podría unificar varios aspectos multiplataforma
Noticias
wolfbcn 1 1,568 Último mensaje 20 Septiembre 2013, 18:55 pm
por Pédrin-2
Unificar query
Bases de Datos
EFEX 2 2,979 Último mensaje 5 Febrero 2014, 18:01 pm
por EFEX
Unificar código en clase abstracta « 1 2 »
Java
CaTZ 11 5,427 Último mensaje 16 Enero 2015, 10:33 am
por CaTZ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines