特定のディレクトリ内のすべての jar を使用してクラスパスを設定する必要があります。Bash は次のように実行します。
CP_DELIMITER=;
for j in "$MY_HOME/javalib/*.jar"; do
if [ "$CP" ]; then
CP="$CP$CP_DELIMITER$j"
else
CP="$j"
fi
done
しかし、" for
" は DOS では動作が異なり、基本的にコマンドをシェルに送信しますが、変数の "set" は保持されません。
set CP=./
for %%j in (%MY_HOME%\javalib\*.jar) do (
set $CP=%CP%;"%%j"
)
for の$CP
外で for を要求すると、最後の jar ファイルのみが取得されます。%%j
内部をエコーすると、すべての値が含まれていることがわかります。
誰かが解決策を見つけましたか?