bat 傳遞參數


調用bat時,傳遞參數有個小問題,記錄一下。

1.問題描述:

傳遞參數時,接收的值不對。傳遞了“1,2,3”,接收時,只剩下1。后面的沒有了。

解決:

原因是bat取參時,語法弄錯了。

 

Syntax 1:

  %0 代表bat文件名

  %1 代表第一個參數

  %2 代表第二個參數

  %2 代表第二個參數

example 1:

> type args_handle.bat
@echo arg1 : %1                
@echo arg2 : %2                
> args_handle.bat "aaa=bbb,ccc" "ddd;eee"
arg1 : "aaa=bbb,ccc"
arg2 : "ddd;eee"

--------------------------------------------------------------------------------------------------------------

Syntax 2:

  %~1 第一個參數,除去雙引號

  %~2 第二個參數,除去雙引號

example 2:

> type args_handle.bat
@echo arg1 : %~1
@echo arg2 : %~2
> args_handle.bat "aaa=bbb,ccc" "ddd=eee"
arg1 : aaa=bbb,ccc
arg2 : ddd=eee

--------------------------------------------------------------------------------------------------------------

Syntax 3:

  %* 代表所有參數

 

2.問題描述:

昨天調試程序時,又有新的bug。數據庫SQL Server中trigger傳遞200個參數給bat,trigger方面打log確認,確實傳遞了200個參數(參數格式   1,2,3,4,5,6...),但是bat方法接收時,打log確認,卻只接收到第87個characoter,后面的全被cut掉了,不知道原因。

解決:

方法調查中→解決完畢

追記:

場景描述:

trigger中,將200個參數作為一個字符串傳遞個bat。

問題原因:字符串的聲明錯誤。作為參數傳遞的變量,被人寫成了sysname,而不是用varchar 聲明的。systemname是個SqlServer內置的數據類型,長度為128個字符。

 

 

參考資料:

http://capm-network.com/?tag=Windows%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%BC%95%E6%95%B0

 


免責聲明!

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



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