[解決済み] VBS WScript.Echo 出力をテキストまたは cvs に書きたいのですが。
2022-02-16 12:21:10
質問
システムにインストールされたすべてのアプリケーションをテキストファイルまたはcsvにリストアップするVBScriptを作成しようとしています。すべてのソフトウェア(名前、バージョン、日付、サイズを含む)をリストアップする既存のコードを見つけることができました。現在、私が見つけたようにそれを実行すると、エコーはホストエコーのポップアップとして表示されます。各エコーをファイルに出力するために、vbsに何を追加する必要がありますか?私はこれが簡単であることを確信しているが、私は解決策を見つけることができないようです。
以下は、私が見つけたスクリプトです。
Dim fso
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
' List All Installed Software
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
strComputer = "."
strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
strEntry1a = "DisplayName"
strEntry1b = "QuietDisplayName"
strEntry2 = "InstallDate"
strEntry3 = "VersionMajor"
strEntry4 = "VersionMinor"
strEntry5 = "EstimatedSize"
Set objReg = GetObject("winmgmts://" & strComputer & _
"/root/default:StdRegProv")
objReg.EnumKey HKLM, strKey, arrSubkeys
WScript.Echo "Installed Applications" & VbCrLf
For Each strSubkey In arrSubkeys
intRet1 = objReg.GetStringValue(HKLM, strKey & strSubkey, _
strEntry1a, strValue1)
If intRet1 <> 0 Then
objReg.GetStringValue HKLM, strKey & strSubkey, _
strEntry1b, strValue1
End If
If strValue1 <> "" Then
WScript.Echo VbCrLf & "Display Name: " & strValue1
End If
objReg.GetStringValue HKLM, strKey & strSubkey, _
strEntry2, strValue2
If strValue2 <> "" Then
WScript.Echo "Install Date: " & strValue2
End If
objReg.GetDWORDValue HKLM, strKey & strSubkey, _
strEntry3, intValue3
objReg.GetDWORDValue HKLM, strKey & strSubkey, _
strEntry4, intValue4
If intValue3 <> "" Then
WScript.Echo "Version: " & intValue3 & "." & intValue4
End If
objReg.GetDWORDValue HKLM, strKey & strSubkey, _
strEntry5, intValue5
If intValue5 <> "" Then
WScript.Echo "Estimated Size: " & Round(intValue5/1024, 3) & " megabytes"
End If
Next
解決方法は?
この場合、1つの方法として、スクリプトを
cscript.exe
を作成し、出力をファイルにリダイレクトします。
cscript.exe //NoLogo "C:\path\to\your.vbs" >"C:\output.txt"
スクリプトの実行方法に関係なく出力をファイルに書き出すように変更したい場合は、出力ファイルを開いたり閉じたりするコードを追加する必要があります。
Dim fso
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Set f = fso.OpenTextFile("C:\output.txt", 2)
...
f.Close
'End of Script
を置換し
WScript.Echo
を
f.WriteLine
.
関連
-
[解決済み] VBS WScript.Echo 出力をテキストまたは cvs に書きたいのですが。
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] MySQLです。大きなVARCHARとTEXTの比較?
-
[解決済み] textとvarcharの違い(character varying)
-
[解決済み] LaTeXの表でテキストを折り返すには?
-
[解決済み] CSVの列に、書式を崩さずにカンマを入れる方法はありますか?
-
[解決済み】文字列をテキストファイルに出力する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン