DOS(CMD)下批处理换行问题本人经常写一些DOS批处理文件,由于批处理中命令的参考较多且长,写在一行太不容易分辨,所以总想找个办法把一条命令分行来写,今天终于试成功两种方法。一、在CMD下,可以用^作为换行符,类似于下的\。举例如下:
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 offsetlocalset command_name=start pemu.exeset 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%
我补充一下:
换行的最后一个参数里最好不要带%&#,否则容易识别错误,有这种参数放到最后或者中间的参数集即可。