标题: 求助:dos输放字符如何以密码显示方式?
[打印本页]
作者: gamexj
时间: 2006-4-23 21:34
标题: 求助:dos输放字符如何以密码显示方式?
比如
set/p 密码= >nul
if not %密码%==a1 goto err >nul
在输放密码时如何变成*号显示或不显示呀?
作者: 3742668
时间: 2006-4-25 13:48
vbs+bat,可以实现。在不利用其他工具的情况下,只用vbs或只用bat都无法实现。
@echo off
set tmpfile=tmp%random%.vbs
echo 请输入密码:
echo Set pw = CreateObject("Microsoft.CmdLib") >>%tmpfile%
echo ps = pw.GetPassword >>%tmpfile%
echo wscript.stdout.write ps >>%tmpfile%
for /f %%i in ('cscript //b %tmpfile%') do @set psw=%%i >nul
msg * "你输入的密码为:%psw%"
del %tmpfile%
windows xp pro sp2 下测试成功,可以修改如果运行错误可修改
msg * "你输入的密码为:%psw%"为 echo 你输入的密码为:%psw% & pause
作者: arding
时间: 2006-5-11 11:35
版主3742668的回答教我开了眼界,我一直对vbscript不熟悉,这两天正在学。vbscript脚本比dos batch的功能更加强大,以后希望在这里能看到更多这方面的内容!
我试了一下,仅用vbs可以完成密码输入要求,在win xp下面,先运行
cscript //H: cscript
将默认解释器设置为命令行模式,则在win中双击内容如下的.vbs文件即可。
Set pw = CreateObject("Microsoft.CmdLib")
wscript.stdout.write "请输入密码:"+vbNewLine
ps = pw.GetPassword
wscript.stdout.write "您输入的密码是:"+ps+vbNewLine
wscript.stdout.write "回车退出。"+vbNewLine
ps = pw.GetPassword
输出信息改为命令行方式,以保持界面的一致,但不知如何实现输出暂停,只好再次使用输入密码命令。还望指教!
[
Last edited by arding on 2006-5-11 at 11:47 ]
作者: ebfoo
时间: 2006-6-21 22:41
Quote: |
Originally posted by arding at 2006-5-11 11:35:
版主3742668的回答教我开了眼界,我一直对vbscript不熟悉,这两天正在学。vbscript脚本比dos batch的功能更加强大,以后希望在这里能看到更多这方面的内堮.. |
|
wscript.sleep xxx
“xxx”为暂停的毫秒数