中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-14 23:31
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]怎么使用批处理修改 Boot.ini 中启动项的参数 查看 7,461 回复 31
31 发表于 2007-01-21 01:45 ·  中国 江西 南昌 电信
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
Originally posted by lxmxn at 2006-10-28 13:09:


  不难看出,以上willsort兄写的批处理要在系统盘根目录中运行,而这段代码中并没有删除"boot.ini"文件的语句,但是后面的这句让我感到质疑:"copy %temp%\boot.new boot.ini>nul 2>nul",这里会把"%temp%\boot.new" copy 到当前的工作目录中来,也就是 copy 到系统盘的根目录中来,并且将文件名改为"boot.ini",而此时系统盘的根目录里面已经有了一个"boot.ini"文件,这时 copy 命令就要询问你是否改写原来的"boot.ini"文件,而willsort兄只是简单的在后面加上">nul 2>nul"这个屏蔽的语句,这样一来,系统就好象死锁在一种询问的状态,当然CMD窗口并没有任何的提示。这显然没有达到我们的目的,结果显然是 copy 失败了。


这就是经验多少的问题了

你如何实际测试过这段代码的话

就会明白其中的奥妙

copy 有一个控制是否覆盖同名文件的开关 /y

在命令行下这个开关缺省关闭

在批处理中这个开关缺省开启

所以在批处理中copy是不需要/y开关的

除非有环境变量copycmd,并且指定了/-y的值
32 发表于 2007-05-18 05:13 ·  中国 河北 石家庄 桥西区 联通
初级用户
积分 54
发帖 28
注册 2006-10-16 14:23
19年会员
UID 65980
性别 男
状态 离线
学习了,都是高人啊。。呵呵
论坛跳转: