- ベストアンサー
環境変数へipconfig /allコマンドを代入する方法
- ipconfigコマンドを環境変数へ代入する方法を解説します。
- VBSを使用してipconfigコマンドを実行し、標準出力を取得する方法について説明します。
- ipconfig /allやsysteminfoコマンドを使用する場合、VBSで動かす方法についても紹介します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
プログラム(ipconfig)が標準出力にどんどんデータを出しているのにそれを取り出していないので、 プログラムが出力を止めて待っている状態になっています。 標準出力を取り出さない限りプログラムが終了しないので、そこで止まっています。 オプション無しのipconfigが終了したのは、 標準出力にはき出されたデータがバッファに収まる量だったので、 プログラムが待機状態になる前に終了できただけです。 ちゃんとReadAllやReadLineで随時標準出力を取り出してください。 ========================================= Option Explicit Dim objShell Dim wExec Dim sCmd Dim Result Set objShell = CreateObject("WScript.Shell") ' コマンド sCmd = "ipconfig /all" ' sCmd = "systeminfo" ' コマンド実行 Set wExec = objShell.Exec(sCmd) ' 読み取り Result = "" Do Until wExec.StdOut.AtEndOfStream ' 標準出力が終了するまでループ Result = Result & wExec.StdOut.ReadALL ' 標準出力をResultに保存 Loop ' デバッグ MsgBox wExec.Status MsgBox Result ' ファイル出力 Dim FSO Dim f Set FSO = CreateObject("Scripting.FileSystemObject") Set f = FSO.CreateTextFile("test.txt") f.WriteLine(Result) f.Close()
お礼
ありがとうございました。