我是全新的windows批處理腳本。我想編寫一個批處理腳本來獲取如下的命令行參數;獲取命令行參數的批處理腳本
的MyScript -parameter1參數1 -parameter2參數2
應該設置參數1至參數1和參數2到腳本中PARAM2。 有沒有人有這樣做的代碼塊?
感謝
我是全新的windows批處理腳本。我想編寫一個批處理腳本來獲取如下的命令行參數;獲取命令行參數的批處理腳本
的MyScript -parameter1參數1 -parameter2參數2
應該設置參數1至參數1和參數2到腳本中PARAM2。 有沒有人有這樣做的代碼塊?
感謝
你可以通過參數與一個循環,並嘗試這樣的事:
:argloop
set "arg=%~1"
if "%arg:~0,1%"=="-" (
set "%arg:~1%=%~2"
shift
)
shift
if not "%1"=="" goto argloop
echo parameter 1: %parameter1%
echo parameter 2: %parameter2%
這將看參數逐一如果有一個參數與-
啓動時,它會設置相同名稱的環境變量與下一個參數,其值爲:
H:\>args.cmd -parameter1 param1 -parameter2 param2
parameter 1: param1
parameter 2: param2
如果以後需要原來的參數,那麼你SH將上面的循環移到子程序中,並以%*
作爲參數來調用它。
可能重複的[Windows蝙蝠文件可選參數解析](http://stackoverflow.com/questions/3973824/windows-bat-file-optional-argument-parsing)看看[我最近的答案](http ://stackoverflow.com/a/8162578/1012053)到這個老問題 - 它有一些想法和技術,你可能會發現有用的。 – dbenham 2012-08-16 11:26:28