我想根据传入的命令行参数在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