Configurar un acceso directo de Windows para solicitar entrada

10

Juro que recuerdo alguna forma en el pasado de Windows de configurar un acceso directo en el escritorio que solicitaría la entrada y la pasaría al comando que está ejecutando. Específicamente, quiero ejecutar un archivo por lotes que tome una contraseña como entrada, pero no almacene esa contraseña en el acceso directo.

¿Hay alguna manera de hacer esto en Windows 7?

dbreaux
fuente

Respuestas:

12

En versiones anteriores de Windows, para crear un acceso directo a las opciones de la línea de comandos, todo lo que tenía que hacer era editar la línea de comandos en la ventana de propiedades del acceso directo, agregando una ?al final. Esto marcó Windows para solicitarle un cuadro de diálogo para cambios adicionales en la línea de comandos.

No creo que este método funcione en Windows 7 (lo acabo de probar). Puede haber sido eliminado en lugar de otro método, o simplemente eliminado por completo.

EDITAR

Acabo de hacer una búsqueda rápida. Aparentemente era un antiguo método PIF de 16 bits para solicitar cambios de línea de comandos. No llegó a Windows 7 (presumiblemente, tampoco puede usar esto en Windows XP; se abandonó después de que Windows 9x se apagó, y se trasladaron por completo al método LNK de 32 bits).

Para emularlo, es probable que tenga que escribir su propio script por lotes (o algo similar) para emular esta funcionalidad.

Por ejemplo, este código de lote de Windows debería ser el truco para usted.

@echo off
setlocal
set /P passwd=Password:
call runprog.bat %passwd%
endlocal
Ben Richards
fuente
2
Eso era lo que recordaba :-(
dbreaux
4

Quizás esto es lo que recuerdas:

> usermessage.vbs ECHO WScript.Echo InputBox( "Where were you born?", "Place of Birth", "London" )
FOR /F "tokens=*" %%A IN ('CSCRIPT.EXE //NoLogo usermessage.vbs') DO SET PlaceOfBirth=%%A
ECHO You were born in %PlaceOfBirth%
DEL usermessage.vbs
Der Hochstapler
fuente
No es lo que recuerdo, pero parece útil. Gracias.
dbreaux
1

Aquí hay un ejemplo de lo que hice. Cree un acceso directo y cambie el objetivo para leer:

cmd /v:on /c "set /P param=Computer name: && %windir%\system32\compmgmt.msc /computer:!param!"
usuario298107
fuente