【batch】批處理文件多參數處理和for循環字符串連接


batch文件寫起來,酸爽不談了。[1]今天在github上發現個好東西batsh,運行地址:https://batsh.org/[1]

這里需求的場景是:調用run.bat腳本並傳入多個參數(相對路徑),腳本中對相對路徑進行加前綴D:\然后拼接起來形成絕對路徑,並且每個路徑之間會以空格隔開。

例如執行 run.bat dir1 dir2 dir3,則腳本中拼接后的結果為 D:\dir1 D:\dir2 D:\dir3

run.bat腳本內容:

 1 @echo off
 2 set pathPrefix=D:\
 3 set varStr=
 4 ::檢測是否傳入參數
 5 if "%1"=="" ( 
 6     echo No variable received, please call the bat with variables!
 7     exit 0
 8 )
 9 
10 ::遍歷參數,並將這些參數拼接起來
11 for %%i in (%*) do call :concat %%i  
12 ::將字符串最前面的空格去掉  
13 set "varStr=%varStr:~1%"
14 echo %varStr%
15 pause 
16 goto :eof
17 
18 ::對參數進行加前綴、拼接
19 :concat
20 set varStr=%varStr% %pathPrefix%%1
21 goto :eof

 


 [1] added on 2019-01-08。


免責聲明!

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



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