[BATCH] Existe comando Nircmd

Iniciado por Nilrac, 13 Agosto 2012, 04:22 AM

0 Miembros y 1 Visitante están viendo este tema.

Nilrac

Hola que tal !

Existe un comando que abra una caja de texto? algo parecido al INPUTBOX en vbs
Necesito una instruccion que haga algo similar que pueda introducir un texto utilizando Nircmd

Gracias

Eleкtro

Si lees la referencia de comandos de NIRCMD verás que no existe una función así.
Puedas combinar BATCH + VBS:
Citar
Código (dos) [Seleccionar]

@echo off
REM Input routine for batch using VBScript to provide input box
REM Stephen Knight, October 2009, http://www.dragon-it.co.uk/

call :inputbox "Please enter something for me:" "Box Title"
echo You entered %Input%
pause
exit /b

:InputBox
set input=
set heading=%~2
set message=%~1
echo wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) >"%temp%\input.vbs"
for /f "tokens=* delims=" %%a in ('cscript //nologo "%temp%\input.vbs" "%message%" "%heading%"') do set input=%%a
exit /b

Saludos








Nilrac

#2
Hola EleKtro H@cker

Gracias por tu respuesta tan acertada.

Ahora, hay alguna forma de que se abran dos cuadros de texto en una misma ventana utilizando este metodo?

Eleкtro

Antes de nada, He tomado el código de arriba y lo he simplificado un poco (Solo un poco):

Código (dos) [Seleccionar]
@echo off

REM Modo de empleo:
REM Call :InputBox "TITULO DE VENTANA" "PREGUNTA" "VARIABLE DE ALMACENAMIENTO"
REM
REM Ejemplo:
call :InputBox  "Elhacker.net" "Como te llamas?" "NAME"
Echo Te llamas: %NAME%
pause
exit

:InputBox
Echo wscript.echo inputbox(WScript.Arguments(0),WScript.Arguments(1)) > "%temp%\input.vbs"
for /F "tokens=*" %%# in ('cscript //nologo "%temp%\input.vbs" "%~2" "%~1"') do (set "%~3=%%#")
Goto :EOF



Cita de: Nilrac en 13 Agosto 2012, 19:48 PMhay alguna forma de que se abran dos cuadros de texto en una misma ventana utilizando este metodo?

Que yo sepa la función de inputbox de VBS no tiene esa capacidad.
Iba a decirte que lo que puedes hacer es ejecutar al mismo tiempo 2 cajas, Pero entonces las variables solo se guardarian en las nuevas instancias de la CMD (Start /B FOR...) Así que tampoco :-/.

Saludos