2012-08-16 157 views
2

我是全新的windows批處理腳本。我想編寫一個批處理腳本來獲取如下的命令行參數;獲取命令行參數的批處理腳本

的MyScript -parameter1參數1 -parameter2參數2

應該設置參數1至參數1和參數2到腳本中PARAM2。 有沒有人有這樣做的代碼塊?

感謝

+2

可能重複的[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

回答

4

你可以通過參數與一個循環,並嘗試這樣的事:

: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將上面的循環移到子程序中,並以%*作爲參數來調用它。

+0

thx爲響應,它爲我工作 – kyy 2012-08-16 10:39:04

+0

@korhan如果它爲你工作,那麼也許你可以考慮接受答案?接受答案會讓人們更願意在未來回答你。 – 2012-08-16 11:07:52

+0

@Joachim我不知道它感謝提醒 – kyy 2012-08-16 11:37:02

相關問題