elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 05:23  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  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 706 veces)
egiptoelcairo

Desconectado Desconectado

Mensajes: 43


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

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 por egiptoelcairo » En línea
Chazy Chaz

Desconectado Desconectado

Mensajes: 46



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

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 por Chazy Chaz » En línea

Chazy Chaz
Chazy The Best
ChazyTheBest2hotmail.es
egiptoelcairo

Desconectado Desconectado

Mensajes: 43


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

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

Desconectado Desconectado

Mensajes: 46



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

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

Chazy Chaz
Chazy The Best
ChazyTheBest2hotmail.es
egiptoelcairo

Desconectado Desconectado

Mensajes: 43


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

esque eso era la gracia  para reducir las teclas   
En línea
EleKtro H@cker
Moderador
***
Desconectado Desconectado

Mensajes: 1.347


(8) I will have that power!! (8) Jarkor! :D


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

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
Option Explicit
Dim objShell, objDesktop, objLink
Dim strAppPath, strWorkDir, strIconPath
 
strWorkDir = "%SystemRoot%"
strAppPath = "%SystemRoot%\notepad.exe"
strIconPath = "%SystemRoot%\system32\SHELL32.dll,17"
 
Set objShell = CreateObject("WScript.Shell")
objDesktop = objShell.SpecialFolders("Desktop")
Set objLink = objShell.CreateShortcut(objDesktop & "\NOTEPAD.lnk")
 
objLink.Description = "NOTEPAD"
objLink.HotKey = "CTRL+N"
objLink.IconLocation = strIconPath
objLink.TargetPath = strAppPath
objLink.WindowStyle = 3
objLink.WorkingDirectory = strWorkDir
objLink.Save
 
WScript.Quit
 
(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
@ECHO OFF

REM EleKtrO H@ckeR


 
 
REM Creamos el batch normal y premium.

 
echo @echo off > "%TEMP%\Normal.bat"
echo echo Este es el batch premium. >> "%TEMP%\Normal.bat"
echo Pause >nul >> "%TEMP%\Normal.bat"
echo exit >> "%TEMP%\Normal.bat"
 
 
echo @echo off > "%TEMP%\premium.bat"
echo echo Este es el batch premium. >> "%TEMP%\premium.bat"
echo Pause >nul >> "%TEMP%\premium.bat"
echo exit >> "%TEMP%\premium.bat"

 
 
REM Creamos los hotkeys


REM echo Option Explicit>"%TEMP%\Normal.vbs"

REM echo Dim objShell, objDesktop, objLink>>"%TEMP%\Normal.vbs"
REM echo Dim strAppPath, strWorkDir, strIconPath>>"%TEMP%\Normal.vbs"
REM echo strWorkDir = "%TEMP%">>"%TEMP%\Normal.vbs"
REM echo strAppPath = "%TEMP%\Normal.bat">>"%TEMP%\Normal.vbs"
REM echo strIconPath = "%SystemRoot%\system32\SHELL32.dll,17">>"%TEMP%\Normal.vbs"
REM echo Set objShell = CreateObject("WScript.Shell")>>"%TEMP%\Normal.vbs"
REM echo objDesktop = objShell.SpecialFolders("Desktop")>>"%TEMP%\Normal.vbs"
REM echo Set objLink = objShell.CreateShortcut(objDesktop & "\Normal.lnk")>>"%TEMP%\Normal.vbs"
REM echo objLink.Description = "Normal">>"%TEMP%\Normal.vbs"
REM echo objLink.HotKey = "2">>"%TEMP%\Normal.vbs"
REM echo objLink.IconLocation = strIconPath>>"%TEMP%\Normal.vbs"
REM echo objLink.TargetPath = strAppPath>>"%TEMP%\Normal.vbs"
REM echo objLink.WindowStyle = 3>>"%TEMP%\Normal.vbs"
REM echo objLink.WorkingDirectory = strWorkDir>>"%TEMP%\Normal.vbs"
REM echo objLink.Save>>"%TEMP%\Normal.vbs"
REM echo WScript.Quit>>"%TEMP%\Normal.vbs"

REM echo Option Explicit>"%TEMP%\Premium.vbs"

REM echo Dim objShell, objDesktop, objLink>>"%TEMP%\Premium.vbs"
REM echo Dim strAppPath, strWorkDir, strIconPath>>"%TEMP%\Premium.vbs"
REM echo strWorkDir = "%TEMP%">>"%TEMP%\Premium.vbs"
REM echo strAppPath = "%TEMP%\Premium.bat">>"%TEMP%\Premium.vbs"
REM echo strIconPath = "%SystemRoot%\system32\SHELL32.dll,17">>"%TEMP%\Premium.vbs"
REM echo Set objShell = CreateObject("WScript.Shell")>>"%TEMP%\Premium.vbs"l
REM echo objDesktop = objShell.SpecialFolders("Desktop")>>"%TEMP%\Premium.vbs"
REM echo Set objLink = objShell.CreateShortcut(objDesktop & "\Premium.lnk")>>"%TEMP%\Premium.vbs"
REM echo objLink.Description = "Premium">>"%TEMP%\Premium.vbs"
REM echo objLink.HotKey = "1">>"%TEMP%\Premium.vbs"
REM echo objLink.IconLocation = strIconPath>>"%TEMP%\Premium.vbs"
REM echo objLink.TargetPath = strAppPath>>"%TEMP%\Premium.vbs"
REM echo objLink.WindowStyle = 3>>"%TEMP%\Premium.vbs"
REM echo objLink.WorkingDirectory = strWorkDir>>"%TEMP%\Premium.vbs"
REM echo objLink.Save>>"%TEMP%\Premium.vbs"
REM echo WScript.Quit>>"%TEMP%\Premium.vbs"

 
 
REM Copiamos e iniciamos los "hotkeys"

 
Copy /y "*.vbs" "%TEMP%\" >nul 2>&1
 
"%TEMP%\Normal.vbs"
"%TEMP%\Premium.vbs"

REM Mostramos el menú...

 
:MENU
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+
Echo Type 1, 2, or 3, Then press ENTER:
Pause >nul

 
 
REM Por último, Borramos la basurilla y finalizamos

 
Del /Q "%TEMP%\Normal.bat";"%TEMP%\Premium.bat" >nul
Del /Q "%TEMP%\Normal.vbs";"%TEMP%\Premium.vbs" >nul
Del /Q "%userprofile%\desktop\Normal.lnk";"%userprofile%\desktop\Premium.lnk" >nul
exit
 

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 por EleKtro H@cker » En línea

Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE:

"La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal."

PD: Volviendo a la era de los 56 k.

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Unificar archivo de 24.3Gb para grabar
Dudas Generales
дٳŦ٭ 10 883 Último mensaje 11 Agosto 2006, 00:07
por Azielito
Como unificar tantos archivos?
Dudas Generales
Uros 2 437 Último mensaje 28 Junio 2007, 10:25
por DarkSigma
Unificar DVD
Multimedia
LeoXV 3 1,170 Último mensaje 7 Octubre 2008, 21:35
por LeoXV
Torvalds rechaza unificar las distribuciones Linux
Noticias
wolfbcn 5 502 Último mensaje 5 Febrero 2009, 01:20
por Sin Nick xD
Se pueden unificar Frames ...???
Multimedia
4971231 9 2,943 Último mensaje 28 Junio 2011, 10:09
por Songoku
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines