神的马甲 发表于 2013-12-20 22:11
假设,启动设备为(ud),bootmgr存在于(hd0,0)
1549957235 发表于 2013-12-21 11:32
哦 呵呵原来如此 可是call不是没有标签 这样不会出错吗?
改用clear行吗?
sratlf 发表于 2013-12-21 12:42
call在批处理中使用才需要跟标签名 在命令中可以不用加 用clear不可以 用call是因为可以进入新的环境 ...
pseudo 发表于 2013-12-21 17:47
把
&&
换成
神的马甲 发表于 2013-12-20 22:11
假设,启动设备为(ud),bootmgr存在于(hd0,0)
第一种情况,去掉call,即 find --set-root --devices=h /bootmgr && set bootmgr=%@root%,那么,%@root%为(ud)
第二种情况,加上call,即 find --set-root --devices=h /bootmgr && call set bootmgr=%@root^%,那么,%@root%为(hd0,0)
1549957235 发表于 2013-12-21 13:43
也就是说 iftitle [] 整体执行 读到call时进入新环境 使变量更新
这才使得变量为(hd0,0)
这个问题 ...
stevenldj 发表于 2013-12-21 18:40
第一种情况:%@root%
第二种情况:%@root^%
1549957235 发表于 2013-12-21 18:20
这个符号好像是与吧
我试过了不行,本来还可以显示出title
stevenldj 发表于 2013-12-24 14:17
似乎还有些问题:
if 1==1 && echo ok ! echo fail
stevenldj 发表于 2013-12-24 15:39
要是再来个 !; 就完美了。
if 1==2 &; echo ok !; echo fail
pseudo 发表于 2013-12-24 11:54
set x=0
set x=1 && echo x=%x%
set x=2 &; echo x=%x%
stevenldj 发表于 2013-12-24 16:09
cat --locate=abc /File &; set Last=%?% !; set Last=-1
这样可以判断 cat --locate=abc /File 是否找到 ...
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) | Powered by Discuz! X3.3 |