バッチスクリプトを使用して、パスにワイルドカードを含むパラメータを指定して-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
しかし、コードは正しく実行されているので、問題は何か分かりません。 – Squashman
hm、私はバッチでそれを実行すると、実際にコマンドを実行することなく、最後の行を進めるだけです。 – Banjomin
バッチファイル内に何か他のものを表示していない、バッチファイルで'FOR'変数のパーセント記号を倍にした後、バッチファイルで実行しないことはほとんど不可能です。 – Squashman