3

バッチスクリプトから、Visual Studio Shellがインストールされているかどうか、およびどのバージョンがインストールされているかを確認するにはどうすればよいですか?

ファイル/フォルダの存在を確認できることを理解しています。

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

しかし、私はよりエレガントで一般的な解決策を探しています。

何か助けはありますか?

受け入れられた回答への更新:

あなたの答えはエレガントで、仕事をします。私は特定のバージョンを具体的にチェックしていたので、(あなたが提供したリンクをチェックした後)使用しています:

@echo off
reg query "HKEY_CLASSES_ROOT\VisualStudio.DTE.10.0" >> nul 2>&1
if %ERRORLEVEL% NEQ 0 ( echo VS 2010 not installed ) else ( echo VS 2010 installed. )
reg query "HKEY_CLASSES_ROOT\VisualStudio.DTE.11.0" >> nul 2>&1
if %ERRORLEVEL% NEQ 0 ( echo VS 2012 not installed ) else ( echo VS 2012 installed. ) 
4

1 に答える 1

4
@echo off
for /d %%a in ("%programfiles%\Microsoft Visual Studio*") do (
for /f "tokens=3 delims=\" %%x in ("%%a") do echo %%x
)
pause >nul

詳細が必要な場合は、クエリして詳細情報を取得できるregキーがたくさんありますが、キーと値から必要なデータを抽出するのははるかに困難です。

注: x64で実行している場合は%systemdrive%\Program Files (x86)、VSがインストールされている場所に応じてチェックを追加する必要がある場合があります。

于 2012-12-14T15:14:53.317 に答える