次のバッチ スクリプトを使用して、Java コマンド ライン ツールを実行しています。
@echo off
pushd %~dp0
setLocal EnableDelayedExpansion
set CLASSPATH="
for /R ./libs %%a in (*.jar) do (
set CLASSPATH=!CLASSPATH!;%%a
)
set CLASSPATH=!CLASSPATH!"
java -cp !CLASSPATH! com.example.CLIApplication %*
popd
ツールのディレクトリをシステム変数 PATH に追加して、コマンド プロンプト経由で任意のディレクトリからツールを実行できるようにしました。これは機能していますが、私が見ている問題は次のとおりです。
ツールのディレクトリは C:\tool\ です ユーザーは C:\ にいます バッチ ファイルの実行後、ユーザーは C:\ ではなく C:\tool\ に残ります
popd が呼び出されますが、コンソールは C:\ にとどまらず、C:\to\ に戻ります。
スクリプトの終了後にユーザー ディレクトリが変更されないようにするにはどうすればよいですか?