程序来自:http://hi.baidu.com/nxhujiee/item/ae52584c36a13d0f6dc2f0f8
DOS(CMD)下批处理换行问题本人经常写一些DOS批处理文件,由于批处理中命令的参考较多且长,写在一行太不容易分辨,所以总想找个办法把一条命令分行来写,今天终于试成功两种方法。一、在CMD下,可以用^作为换行符,类似于Linux下的\。举例如下: start pemu.exe ^ -net nic,vlan=1,macaddr=00:aa:00:00:01:01 -net tap,vlan=1,ifname=tap1 ^ -net nic,vlan=2,macaddr=00:aa:00:00:01:02 -net tap,vlan=2,ifname=tap2 ^ -net nic,vlan=3,macaddr=00:aa:00:00:01:03 -net tap,vlan=3,ifname=tap3 ^ -serial [url=telnet::1007,server]telnet::1007,server[/url] ^ -m 128 FLASH802
二、用变量。举例如下: @echo off setlocal set command_name=start pemu.exe set nic1=-net nic,vlan=1,macaddr=00:aa:00:00:01:01 -net tap,vlan=1,ifname=tap1 set nic2=-net nic,vlan=2,macaddr=00:aa:00:00:01:02 -net tap,vlan=2,ifname=tap2 set nic3=-net nic,vlan=3,macaddr=00:aa:00:00:01:03 -net tap,vlan=3,ifname=tap3 set options=-serial [url=telnet::1007,server]telnet::1007,server[/url] set parameter= -m 128 FLASH802 %command_name% %nic1% %nic2% %nic3% %options% %parameter%
我补充一下:
换行的最后一个参数里最好不要带%,否则容易识别错误,有这种参数放到最后或者中间的参数集即可。