我想根據傳入的命令行參數在DOS批處理文件中執行一些操作。
該批次應使用任意數量的參數進行調用。可能的參數應爲(在最好的情況下可擴展):批處理:檢查批處理文件中的命令行參數
UPDATE [-verbose [outputFileName]] [-validate] [/?]
此外,它應該可以以任意順序進入PARAMS。 尤其是參數-verbose有意義:如果給出以下參數'parameterParam'必須是outputfilename的名稱或可以是空的。注意參數有一個前導「 - 」。參數參數的參數沒有前導「 - 」。
例如:
UPDATE -verbose -validate
應STDOUT(-verbose)顯示的執行步驟和驗證輸入。
UPDATE -verbose outputFileName.txt -validate
應登錄的執行步驟到名爲<outputFilename.txt>(-verbose outputFileName.txt)文件和驗證輸入。
UPDATE -validate
只應驗證輸入。
UPDATE -validate -verbose
應做同樣的
UPDATE -verbose -validate
。
UPDATE /?
應顯示如何使用update.bat
我怎麼能這樣做?用FOR循環遍歷命令行參數?但是如何?我能夠迭代參數,但是如果找到-verbose,我怎樣才能預覽下面的參數來檢查是否提供了文件名?
根據所提供的參數,具體的行動應該發生(從不同批次的...) 我想通過java調用LiquiBase:
進行驗證:
java -jar %LIQUIBASE_EXEC% --changeLogFile=../changesets/changelog-update.xml --logLevel=info validate
java -jar %LIQUIBASE_EXEC% --changeLogFile=../changesets/changelog-views-and-sp.xml --logLevel=info validate
對於離線SQL代:
java -jar %LIQUIBASE_EXEC% --changeLogFile=../changesets/changelog-update.xml --logLevel=info updateSQL > update_%_outputfilename%
java -jar %LIQUIBASE_EXEC% --changeLogFile=../changesets/changelog-views-and-sp.xml --logLevel=info updateSQL > viewsAndSP_%_outputfilename%
你是否正在使用DOS?或'cmd.exe'? – paxdiablo 2014-09-26 13:13:23
我有一個名爲update.bat的文件,我想讓它在命令行工具中的Windows機器上運行。 – 2014-09-26 13:20:16
然後,這將是'cmd.exe',我會更改標籤。 – paxdiablo 2014-09-26 13:26:53