中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 20:08
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:dos输放字符如何以密码显示方式? 查看 1,171 回复 3
楼 主 求助:dos输放字符如何以密码显示方式? 发表于 2006-04-23 21:34 ·  中国 福建 厦门 湖里区 电信
新手上路
积分 6
发帖 1
注册 2006-04-23 21:12
20年会员
UID 54337
状态 离线
比如
set/p 密码= >nul
if not %密码%==a1 goto err >nul

在输放密码时如何变成*号显示或不显示呀?
2 发表于 2006-04-25 13:48 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
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
3 发表于 2006-05-11 11:35 ·  中国 甘肃 兰州 中移铁通
初级用户
积分 90
发帖 38
注册 2006-01-06 18:41
20年会员
UID 48522
状态 离线
版主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 ]
4 发表于 2006-06-21 22:41 ·  中国 辽宁 沈阳 电信
初级用户
积分 31
发帖 9
注册 2006-06-21 14:24
20年会员
UID 57357
性别 男
来自 cs
状态 离线
Originally posted by arding at 2006-5-11 11:35:
版主3742668的回答教我开了眼界,我一直对vbscript不熟悉,这两天正在学。vbscript脚本比dos batch的功能更加强大,以后希望在这里能看到更多这方面的内堮..



wscript.sleep xxx
“xxx”为暂停的毫秒数
论坛跳转: