として、それらを別々のラインで複数のテキストを検索し、出力\アンインストール/ S^| Find/I "DisplayName"バッチコマンド - 私は</p> <p>のRegクエリます。HKLM Software Microsoft Windowsの CurrentVersionのREGコマンドに続いてドメインのPCにインストールされているソフトウェアのインベントリを作成しようとしている列
ソフトウェア名を取得するためにFind/I "DisplayName"を使用しています。私はバージョン番号が必要です(そして後ほどいくつかのフィールドが追加されることもあります)が、DisplayVersionという別の行にあります。
私は複数のコンピュータ上でこれを実行していますので、私のスクリプトは次のようになります。
for /f %%i in (computers_ALL.txt) do (
for /f "tokens=1,2,*" %%j in ('psexec \\%%i Reg Query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall /S ^| Find /I "DisplayName"') do (
echo x64 %%i %%l >>%OUTPUT_FILE%
)
for /f "tokens=1,2,*" %%j in ('psexec \\%%i Reg Query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /S ^| Find /I "DisplayName"') do (
echo x86 %%i %%l >>%OUTPUT_FILE%
)
)
今、私は唯一のDisplayNameを見つけることができます。他の行にあるDisplayVersionを見つけて2番目の列に追加するにはどうしたらいいですか?私の出力は、私は、ソフトウェアの名前件まで世話をすることができますコンピュータ名、プラットフォーム(32-64ビット)、ソフトウェア名、ソフトウェアバージョン
、のようなものが、バージョンを取得し、2列目にそれを置くために苦労します。あなたの助けに感謝。ありがとう。
ありがとう。これは、私が必要とするデータを抽出するための良い方法です。私は少し問題がある。コンピュータ名が来ていないし、バージョン番号も来ていない。 32/64プラットフォームで、ソフトウェア名のみが出力ファイルに保存されています。 – arifr