Originally posted by zts59 at 2006-8-11 01:37 PM:
谢谢楼上的,
不过有点问题,变量A并没有得到当前盘符。
所以我用了
if %comspec%==C:\COMMAND.COM goto next|set bootp=C:
if %comspec%==A:\COMMAND.COM goto next|set boot ...
[ Last edited by zts59 on 2006-8-11 at 18:54 ]作者: brglng 时间: 2006-8-11 20:39 我知道了
MSDOS 7.1的Command.com没有/Q参数,而照上面执行后%a%变量多出一个“exit”
试试这样吧:
echo @prompt @set a=$n: >a.bat
%comspec% /c a.bat >b.bat
call b.bat
del a.bat
del b.bat
我在VPC中测试成功。但是在cmd下测试没通过。但是5楼的方法在cmd下能通过。但是这两种方法在FreeDOS的FreeCOM下都不能成功,不知什么原因。
[ Last edited by brglng on 2006-8-11 at 20:56 ]作者: zts59 时间: 2006-8-11 21:04 谢谢了,
其实你还建立了两个批处理,因为是镜像文件,不能产生文件的,是不能写入的。
这样的话,我还要考滤要加载内存虚拟盘,然后用上述代码。不可合理哟。
况且如果可以写入文件的话,用:
cd\
cd>aa.txt
就可以了,
要知道DOS启动的话,不是在A盘,就是在C盘。所用 if %comspec%=……
就最简单了。
也谢谢你的方法,给了另一种思路。
[ Last edited by zts59 on 2006-8-11 at 21:07 ]作者: movy 时间: 2007-1-14 09:21 说明一下,对于镜像软盘 并非不能写文件,而是要镜像盘还有空闲空间,另外,如果关机前没有把新生成文件转存到硬盘,关机后就会“消失”——因为镜像软盘中的文件是存 在 内存中 的。