Board logo

标题: 一个全世界都解决不了的问题 [打印本页]

作者: Michael     时间: 2003-2-27 00:00    标题: 一个全世界都解决不了的问题

怎么让win2000不处理启动区上的autoexec.bat文件,我是dos6.22和win2000双启动,可我不想让win2000处理autoexec.bat,怎么办呢????

作者: 红色狂想     时间: 2003-2-28 00:00
那只好把DOS 6.22单独放到软盘中了。当需要用时,单独用它启动系统,即双系统物理隔离。
作者: Wengier     时间: 2003-2-28 00:00
请问这个"处理"是指什么?
作者: 红色狂想     时间: 2003-2-28 00:00
请问Wengier,你不是问我的吧?
作者: Roy     时间: 2003-2-28 00:00


  Quote:
以下是引用Michael在2003-2-27 17:24:44的发言:
怎么让win2000不处理启动区上的autoexec.bat文件,我是dos6.22和win2000双启动,可我不想让win2000处理autoexec.bat,怎么办呢????

--Sample AUTOEXEC.BAT--
@ECHO OFF
If %OS%.==Windows_NT. GOTO END

OS622
MSCDEX /D:MSCD001
MOUSE
.
.
.
.

:END
-- End of Sample AUTOEXEC.BAT--

[此贴子已经被作者于2003-2-28 15:17:43编辑过]



作者: Michael     时间: 2003-2-28 00:00
就是不让它执行autoexec.bat!
上边的,您瞎说吧!
作者: Roy     时间: 2003-2-28 00:00
不可能吧!!
只能用個折衷的辦法啊!!
作者: Michael     时间: 2003-2-28 00:00
win2000是不是会自动跳过autoexec.bat中的一些非法的命令行(比如c:\dos\emm386.exe ram等等)
作者: Roy     时间: 2003-2-28 00:00
EMM386.EXE 是在CONFIG.SYS 運行的.
而Win2000 會截取非法的指令如直接存取硬盤等
作者: Michael     时间: 2003-2-28 00:00
win2000也会处理config.sys吧,这可怎么办?
device=c:\dos\emm386.exe ram 这一行对win2000肯定是无效的吧。
作者: Wengier     时间: 2003-2-28 00:00
是的,Win2K是会选择性地执行AUTOEXEC.BAT中的某些命令,例如PATH等。用Roy的方法应该可行。
作者: imp     时间: 2003-2-28 00:00
好象不行的把  我也试图这样做跳过autoexec.bat里的一些设置
但是没有成功  
是不是因为在运行autoexec.bat的时候还没 os 这个变量


不过可以用用chioce这个命令


[此贴子已经被作者于2003-2-28 20:59:21编辑过]



作者: Wengier     时间: 2003-2-28 00:00
不是这个原因,等会儿我自己试试。
作者: Wengier     时间: 2003-2-28 00:00
经试验发现,Win2K仅仅是执行AUTOEXEC.BAT等文件中的以SET、PATH等命令开头的命令,因此解决起来其实非常简单,只需在那一行的最前面添加个附加指令即可,例如将:
PATH=C:\DOS
改为:
IF 1==1 PATH=C:\DOS
即可,这样Win2K就不会执行此命令了。

Roy的方法之所以不可行,是因为Win2K只要看到非SET、PATH的命令(如IF等)就根本不会去理会,所以无效。

作者: Michael     时间: 2003-3-1 00:00
谢谢wengier,甘愿“以身试法”,感激!
作者: Wengier     时间: 2003-3-1 00:00
其实嘛,只是我经分析得出理论后,一次试验通过(即用一次性试验证明我的想法是正确的)的,说不上是“以身试法”。
作者: youshizhihu     时间: 2003-3-1 00:00
是吗!真的吗!晕死
作者: Michael     时间: 2003-3-2 00:00
wengier厉害!
试验是证明结论的,不是用来得出结论的。
作者: Michael     时间: 2003-3-4 00:00
我如果这样呢:
c:\>type autoexec.bat
call c:\auto.bat

然后把真正的autoexec.bat的内容放在auto.bat里,不知win2000会不会自动跳过???

作者: Wengier     时间: 2003-3-4 00:00
理论上肯定会。
作者: 禅宗     时间: 2003-3-4 00:00
运行regedit打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon,察看右边有没有一个叫做"ParseAutoexec"的Dword值,没有的话新建一个,修改这个值为“0”即可屏蔽在WinXP启动时处理Autoexec.bat这个文件。

大家试试对WIN2000是否也有效,我现在手头刚好没2000:(
作者: Wengier     时间: 2003-3-4 00:00
我的Win2K中有这个DWORD值。

我看全世界能解决这个问题的人不少呀,不至于都解决不了吧。
作者: 禅宗     时间: 2003-3-4 00:00
Wengier试试改一下这个值,会不会有效,我的WINXP是有作用的:)
作者: Wengier     时间: 2003-3-4 00:00
见这儿:
http://www.winguides.com/registry/display.php/162/
作者: 禅宗     时间: 2003-3-5 00:00
那看来这个方法在XP、2000中都有用的:)
作者: Michael     时间: 2003-3-9 00:00
这儿真好!!!!!!!!!
这儿人也好!!!!!!!!!!!
作者: ko20010214     时间: 2003-7-4 00:00
先学会怎么提问再说吧。
把你帖子的标题改好点。
对这种标题的帖子以后有可能只有这三种下场:
1。没人理。(这是最好的情况)
2。被转移到灌水区。
3。被删。
========
又来一个全世界都不能解决的问题?
下次碰到这种帖子标题删无赦!