質問: バッチファイルチェックディレクトリはx64および/またはx86に存在します プログラムが正しくインストールされているかどうかを確認するには、x86マシンとx64マシンの両方でこのバッチを正常に実行できる必要があります。標準のプログラムファイルディレクトリのx86にインストールするアプリがあり、x64にインストールすると、x86プログラムファイルディレクトリにインストールされます。現在、falseを報告し、アプリがインストールされていることを示すエコーと、x86およびx64で実行したときにアプリがインストールされていないことを示すエコーを表示します。if /i "%processor_architecture%"=="x86" goto x86dc if /i "%processor_architecture%"=="x64" goto x64dc :x86dc if exist "c:\program files\installeddir\app.exe" ( echo ***app is installed successfully*** ) if not exist "c:\program files\installeddir\app.exe" ( echo ***app is not installed *** ) :x64dc if exist "c:\program files(x86)\installeddir\app.exe" ( echo ***app is installed successfully*** ) if not exist "c:\program files(x86)\installeddir\app.exe" ( echo ***app is not installed*** )
回答: このようなことはもっと明確ではないでしょうか?また、上記の@mbuで指摘されたprocessor_architecture変数に関する仮定を行う問題も排除されます。if defined programfiles(x86) ( set appdir=%programfiles(x86)%\installeddir ) else ( set appdir=%programfiles%\installeddir ) if exist %appdir%\app.exe ( echo we're installed in %appdir%. woo hoo! ) else ( echo nope. not installed. ) 今私が思いついたもう1つの方法は、インストールプログラムまたはバッチファイルで、インストール場所を指定してレジストリにキーを書き込むことです(標準のwindowsユーティリティであるreg.exeを使用して実行できます)。興味があれば、thatソリューションをもう少し具体化していただければ幸いです。