轉 DOS(CMD)下批處理換行問題/命令行參數換行 arg ms-dos


 

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%

 

我補充一下:

換行的最后一個參數里最好不要帶%&#,否則容易識別錯誤,有這種參數放到最后或者中間的參數集即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM