标题: 关于批处理的命令分隔符
[打印本页]
作者: cao7113
时间: 2008-5-17 13:09
标题: 关于批处理的命令分隔符
在其它高级语言中一般都有明确的语句分隔符(如C/C++,Java中的分号),而dos批处理中一般直接给出命令即可,那么解释器执行命令是靠什么来分隔命令语句的呢?
如果想在某条件成立时执行多条语句,一般会用()把多条语句括起来,各条命令语句间再以换行分隔,如下面的条件语句:
if not "true"=="true" (echo true...
echo true1
echo true2...
)else (echo false0
echo false1
)
通过以上示例是不是说明,dos解释器是靠换行符分隔命令的。如果是,我们如何直接人工输入之,使得可以写出如下的语句效果(多条语句显示在同一行中):
cmd1[换行符]cmd2[换行符]cmd3
有没有做过相关研究的大侠,望多多指教,无比感谢!!!
作者: lxmxn
时间: 2008-5-19 16:06
用 & 也可以在同一行连接多个命令吧?
作者: cao7113
时间: 2008-5-20 09:19
标题: 从帮助中摘录的相关内容
以下为从从帮助中摘录的相关内容,可以很好的回答该问题:
##------------------------------------------------------------------------------
使用多个命令和条件处理符号
使用条件处理符号可以从单个命令行或脚本运行多个命令。通过条件处理符号运行多个命令时,条件处理符号右边的命令根据条件处理符号左边的命令结果来发挥作用。例如,只有在前一个命令失败的情况下,才可能需要运行一个新命令。或者,只有在前一个命令成功时才可能需要运行一个新命令。
可以使用下表列出的特殊字符来传递多个命令。
字符
语法
定义
& [...]
command1 & command2
用来分隔一个命令行中的多个命令。Cmd.exe 运行第一个命令,然后运行第二个命令。
&& [...]
command1 && command2
只有在符号 && 前面的命令成功时,才用于运行该符号后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令运行成功时才运行第二个命令。
|| [...]
command1 || command2
只有在符号 || 前面的命令失败时,才用于运行符号 || 后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令未能运行成功(接收到大于零的错误代码)时才运行第二个命令。
( ) [...]
(command1 & command2)
用来分组或嵌套多个命令。
; 或者 ,
command1 parameter1;parameter2
用来分隔命令参数。
注意
“与”符号 (&)、管道符号 (|) 以及括号 () 是特殊字符,将它们作为参数传递时,必须在其前面加上转义字符 (^) 或引号。
如果某个命令成功完成操作,则该命令就返回零 (0) 退出代码或不返回任何退出代码。有关退出代码的详细信息,请参阅 Microsoft Windows Resource Kit。
作者: prodigall
时间: 2008-10-14 15:50
學習了
不過我在系統的幫助中找不到以上內容啊
作者: 5566ljlj
时间: 2009-3-14 03:02
学习学习了
作者: nobodytt
时间: 2009-3-14 06:26
哪么一条很长的命令语句如何分成多行来写呢?
比如:cmd | lmod1 | lmod2 | lmod3 | ... > 1.txt
作者: linge
时间: 2009-3-19 01:28
可以使用^来分行的,你可以试试麻
作者: QOIQoc
时间: 2009-3-19 07:25
如果像设置变量:
set ae=%windir% & copy tes.txt %ae% & attrib +r %ae%\tes.txt
好像要先预处理