中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-30 10:02
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [已结]如何在打开CMD时自动运行DOSKEY禁止使用某些命令 查看 3,150 回复 18
16 发表于 2006-06-09 15:50 ·  中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
20年会员
UID 43784
来自 北京
状态 离线
只要把自己编写好的文件添加到HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun注册表里就可以了,不用写路径,直接写入你批处理文件名称就可以了,他是按照%path%路径来寻找文件的,所以你只要把相应的文件COPY到%path%里随便一个路径里就可以了,在每次运行CMD时他就会自动执行
17 发表于 2006-06-09 16:43 ·  中国 上海 杨浦区 电信
初级用户
积分 56
发帖 27
注册 2006-05-31 07:09
20年会员
UID 56292
状态 离线
感谢bagpipe的指点!

我刚接触dos,对于%之类的还是一知半解,%SystemRoot%这个我知道是系统windows目录,其他的如%path%就不明了.

我会努力学习的!

这个论坛尽管人气不高,可都是些有分量的呀! 我喜欢!! 向你们学习了!!!
18 发表于 2006-06-09 17:28 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re yunli:

从本质上来看,我的方法与wl00560兄并无太大差异,区别只是我使用的是脚本,而他使用的是手动输入而已。这并不能作为我分析问题出现的依据。

你的截图提供了很多信息:

1、从CMD顶端的doskey字迹来看,注册表中的AutoRun显然是有效的;
2、从F7的命令历史窗口中,可以得知DOSKEY命令行并未被记录;
3、从DOSKEY后的扩展ASCII字符,可知你的命令行环境代码页并非中文;
4、从命令提示符中的Docume~1,可知你的命令行环境没有启用长文件名;

从3/4已经基本可以判断出,因为CMD启动过程中使用了16位程序,导致NTVDM被激活,从而代码页被切换,长文件名被关闭。从2推测可能是doskey往内存的驻留操作失败,并因此导致NTVDM被激活。

根据以上推测,你的系统中缺省被启动的DOSKEY.COM可能存在版本问题。在我的XPSp2下,doskey.com体积大小为4,647,创建日期为”2003年10月22日, 9:10:14“,请你搜索一下你的系统,察看是否有多个doskey.com。

另外,可以将你出现问题时的autoexec.bat转贴出来,可以让我确认问题的苏子。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
19 发表于 2006-06-09 18:03 ·  中国 上海 杨浦区 电信
初级用户
积分 56
发帖 27
注册 2006-05-31 07:09
20年会员
UID 56292
状态 离线
我系统sp2现在没有doskey.com(原来就没有,我加的那个已经删除,用它反而不成功)
目前就用系统自带的doskey.exe.体积大小为10.5k,创建日期为”2004年6月6日, 14:13

现在用你的方法,dir运行不了,但是按f7依然没有显示!(见图)

[ Last edited by yunli on 2006-6-9 at 18:10 ]
附件
1.jpg
论坛跳转: