2017-12-18 5 views
0

バッチスクリプトを使用して、パスにワイルドカードを含むパラメータを指定して-jarを呼び出そうとしています。私はそれを手動で入力した場合、私はこのようにCMDにこれを行うことができます:それはバッチスクリプトでは動作しませんなぜ私が知っているパス内にワイルドカードを使用したバッチスクリプトのパラメータを含む.jarの呼び出し

for /d %a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml 

ここに示したように、私は、 '%さんを余分に追加する必要があります。

for /d %%a in ("C:\Program Files (x86)\Java\*") do "%%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml 

問題は、私が試してみると、CMDラインからの出力は、最初に '/ d'のdを省略しています。なぜこれが、私が変更する必要があるか分からないか分からない。改訂されたスクリプトの出力は次のようになります。

for/%a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml 

私は手動(シングル '%さんと)コマンドを入力すると、私はこのように起動し、出力を得る:

C:\windows\system32>for /d %a in ("C:\Program Files (x86)\Java\*") do "%~fa\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml 

C:\windows\system32>"C:\Program Files (x86)\Java\jre1.8.0_152\bin\java.exe" -jar C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar C:\DTS\BMC\3.7.1\silent3.7.xml 

[ Starting automated installation ] 
Read pack list from xml definition. 
Try to add to selection [Name: Base and Index: 0] 
Try to add to selection [Name: Standard and Index: 1] 
Try to remove from selection [Name: Optional Plugin - Greenplum and  Index: 2] 
Try to remove from selection [Name: Optional Plugin - WIKI table configurations 
+1

しかし、コードは正しく実行されているので、問題は何か分かりません。 – Squashman

+0

hm、私はバッチでそれを実行すると、実際にコマンドを実行することなく、最後の行を進めるだけです。 – Banjomin

+0

バッチファイル内に何か他のものを表示していない、バッチファイルで'FOR'変数のパーセント記号を倍にした後、バッチファイルで実行しないことはほとんど不可能です。 – Squashman

答えて

0

は結局あきらめましたこれは、次のコマンドでpowershellを使って動作させることができました:

start-process "C:\Program Files (x86)\Java\*\bin\java.exe" -Argumentlist '-jar', 'C:\DTS\BMC\3.7.1\squirrel-sql-3.7.1-standard.jar', 'C:\DTS\BMC\3.7.1\silent3.7.xml' 
+0

本当に使用していたバッチファイルの構文に問題はありませんでした。 (C:¥Program Files(x86)¥Java¥* ")の場合、" %%〜fa \ bin \ java.exe "-jar C:\ DTS \ BMC \ 3.7.1 \ squirrel-sql-3.7.1-standard.jar C:¥DTS¥BMC¥3.7.1¥silent3.7.xml'を実行します。あなたのpowershellコードでこれに答えるつもりなら、それはあなたの質問をほぼ無効にします。質問はバッチで、答えはpowershellなので削除する必要があります。 – Squashman

+0

私は以前のコメントに返信し、私の質問に出力を追加しました。私のバッチスクリプトがいかに有効であったかに関わらず、出力はそれが機能していないことを示しています。 – Banjomin

関連する問題