中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-24 02:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]难道"论坛"没有人能解决这个问题.. 查看 2,229 回复 22
楼 主 [求助]难道"论坛"没有人能解决这个问题.. 发表于 2008-03-27 13:09 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
出处:

批处理输入密码但不显示字符的代码

环境:

Microsoft Windows XP Professional Service Pack 2.0
--
Windows Registry Editor (Regedit) 5.1

目的: 锁定DOS, 密码进入(*轻保护)..

首先, 新建批处理(D:\login.bat) 内容如下:


@echo off

chcp 437>nul&graftabl 936>nul

echo hP1X500Pf3/f1/5++u5x>in.com

set /p password=请输密码:<nul

for /f "tokens=*" %%i in ('in.com') do set password=%%i

del in.com

echo.

echo The Password is:"%password%"

pause


此时, 直接双击运行login.bat, 成功实现密码输入隐藏、显示中文等等(一切正常)

但是, 一旦设置注册表.AutoRun="D:\login.bat"之后..

运行: cmd

马上挂了 (原因: 估计是因为32位程序与16位程序之间不断互相切换, 直至死机..)

莱鸟求救, 请问大虾如何解决?

不胜感激..

[ Last edited by Shinaterry on 2008-4-15 at 12:27 AM ]
2 发表于 2008-03-28 00:02 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
貌似直接双击 直接输出 密码是 ""
没有输入的机会?
3 发表于 2008-03-28 00:32 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
你双击运行后, 直接输入然后回车就可以看见了..
4 发表于 2008-03-28 00:35 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
我直接双击。。。直接到PAUSE了……没有输入的机会。。。
5 发表于 2008-03-28 11:30 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
不会吧! 怎么我这边就正常?
6 发表于 2008-03-28 22:30 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
@slore

请教两个问题:

1. set /p 可以接收按下"回车"前键盘输入的一系列字符, 请问有没有办法实现在不按"回车"的情况下只能接收单个字符?

2. 如何限定只能输入半角字符(A-Za-z0-9..)?
7 发表于 2008-03-28 22:41 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
1.
choice命令。。。XP下默认没有(好像2K有),可以从网上下载。

2.
自己对输入后的数据做个检测吧。
不满足抛出错误提示,然后 goto到输入前,重新输入……
8 发表于 2008-03-29 01:07 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
Originally posted by slore at 2008-3-28 10:41 PM:
自己对输入后的数据做个检测吧。


如何取字符的ASCII编码? (用于判断)
9 发表于 2008-03-29 04:45 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
试试findstr里的简单正则吧
10 发表于 2008-03-30 16:24 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
请问choice命令能不能接收"回车"与"退格"?
11 发表于 2008-03-31 13:28 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
建议楼主还是用汇编写一段吧,

用16h号中断的1h号输入,判断,再用10h号中断的0eh号输出。
12 发表于 2008-03-31 14:15 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
13 发表于 2008-03-31 14:16 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
re: abcd -> 谢谢..

[ Last edited by Shinaterry on 2008-4-3 at 11:50 AM ]
14 发表于 2008-04-03 23:49 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
UP
15 发表于 2008-04-04 15:07 ·  中国 广东 珠海 电信
初级用户
★★
积分 97
发帖 51
注册 2008-03-19 15:26
18年会员
UID 113404
性别 男
状态 离线
UP 大家帮帮忙测试一下嘛..
论坛跳转: