%CD%
の代わりに使用し%~dp0
ます。
編集:
B2EC は実際のコンバーターではありません。装備された .cmd ファイルの作成場所が選択されましたが%TEMP%
、これは良い選択です。アプリケーションには、スクリプトの作業ディレクトリの 3 番目のオプションである .exe ファイル ディレクトリがありません。これを追加することについて著者にメールすることをお勧めします。
.exe と作成された .cmd のパスが異なると、情報が失われます。つまり、スクリプトに追加情報を提供しないと、.exe ディレクトリと現在のディレクトリを同時に知ることができません (環境変数を使用するか、最初/最後の引数として渡すなど)。スクリプトに)。このスクリプトはそれを処理する必要があり、このコンバーター用に調整された cmd スクリプトの作成を終了することになりますが、これは悪いことです。
%~dp0
- スクリプトディレクトリ ( %TEMP%/.../
) - 実質的に役に立たない
%cd%
- 作業ディレクトリ (コンバータで設定) - 現在のところ、現在のディレクトリ (.exe の作業ディレクトリ) と一時ディレクトリ (実際には に等しいが%~dp0
、末尾のバックスラッシュなし)の 2 つのオプションしかありません。
スクリプトのパスを変更するためにメモリ内のインスタンスにパッチを当てることで解決できると思いますがcmd.exe
、それは B2EC 開発者の義務です。
補足: 通常の実行可能ファイルは、appriopriatelpApplicationName
とlpCommandLine
to CreateProcess
function を指定することで、0 番目の引数を指定して簡単に実行できます。コマンドファイルは 経由cmd.exe
で実行されるため、0 番目の引数をこのように設定することはできません。