• 締切済み

Runメソッドで実行したコマンドプロンプトの結果を1行ずつ取得する方法

Runメソッドで実行したコマンドプロンプトの結果を1行ずつ取得する方法を教えてください。 pingの実行結果を1行ずつ取得したいのですがどうも上手く行きません。 Set WshShell = WScript.CreateObject("WScript.Shell") Set objWshScriptExec = WshShell.exec("ping 192.168.0.1") Set objStdOut = objWshScriptExec.StdOut strLine = objStdOut.ReadLine execメソッドを使用するのであればこんな感じで1行取得することが出来るかと思いますが、窓の非表示で同じことをやりたいので同じことをRunメソッドにて取得できればいう希望からの質問でした。 どうぞよろしくお願い致します。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

>Runメソッドにて取得できればいう希望からの質問でした。 それは無理ですね。代替としてはこんな感じで。 Set Shell = WScript.CreateObject("WScript.Shell") Shell.Run "pingping.bat",0,True Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("tmpfile.txt", 1) WScript.Echo f.ReadLine WScript.Echo f.ReadLine ===== pingping.bat ===== ping 192.168.0.1 > tmpfile.txt

neg69
質問者

お礼

ご回答ありがとうございます。うむー…batファイルを作成しなくてはいけないのですか… 出来ればスクリプト内で処理したいのですが…