标题: [其他] 批处理中当等号作为赋值符号的优先级是怎么样的? [打印本页]
作者: wc726842270 时间: 2011-1-11 11:55 标题: 批处理中当等号作为赋值符号的优先级是怎么样的?
以前只知道组合命令的优先级没有重定向命令的优先级高,但是个人认为当等号作为赋值符号也是一种特殊符号(我想到的仅有用SET赋值时的等号),当此时有其它的特殊符号,又是怎样的执行顺序呢.
以下是个人在百度后写出的,查的很纠结,写的很草率,- @echo off
- dir c:\&&dir d:\ >a.txt
- start "" "%userprofile%\桌面\a.txt"
- rem 由此句不难看出>>比&&的优先级要高,所以先执行的DIR D:\ >>A.TXT,如果要正确输出就改成dir c:\ >a.txt&&dir d:\ >>a.txt
- pause
复制代码
- @echo off
- >a.txt echo 1 &set /p a=<a.txt
- del a.txt
- echo %a%
- pause
复制代码
因为组合命令的优先级没有重定向命令的优先级高
什么样的符号是组合命令,例如: &,&&,||,
什么样的符号是重定向命令,例如: >,>>,<,<&,>&,|
但对于赋值符号实在是没什么想法了,(原因自已很笨,VBS已经很是上火了),
[ 本帖最后由 wc726842270 于 2011-1-11 14:20 编辑 ]
作者: wc726842270 时间: 2011-1-11 12:00
版主动作也太快了,我才发了不到5秒,其中网页还卡了一下,还没来得急修改,就被发现了.
[ 本帖最后由 wc726842270 于 2011-1-11 12:02 编辑 ]
作者: hanyeguxing 时间: 2011-1-11 14:08
1,dir dir c:\&&dir d:\ >a.txt
语法错误,两个dir
2,关于 dir c:\&&dir d:\ >a.txt ,要想把两个dir都输出到a.txt复制代码
复制代码
3,组合命令字符:& && || () ;分号 ,逗号
例如复制代码
4,如果硬要比较组合与重定向,组合是在预处理时分隔命令的,重定向是在运行命令才执行的,怎么看也得不出楼主的结论
[ 本帖最后由 hanyeguxing 于 2011-1-11 14:24 编辑 ]
作者: wc726842270 时间: 2011-1-11 14:19 标题: 回复 3楼 的帖子
没仔细看.多写了一个DIR
另外关于组合命令中的"()"的优先级高于其它的一些特殊符号,所以认为它是最优先的(就像数学中的一样)
关于第4点,版主说的很有道理,(只不过网络上有一些文章叫这种情况为优先级,所以也就学了)
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |