Shell関数でIPアドレスをtextファイルに取得するには?

解決


アーク  2005-11-02 01:43:04  No: 127223

VB6.0で
Shell "ipconfig / All > ""C:\Documents  and  _      Settings\arc\nowIP.txt"" "
としたのですが、フォルダにnowIP.txtが出来てません。
どうすればよいでしょうか?


・・・。  2005-11-02 02:10:19  No: 127224

まずは、 and とSettingsの間にある不器用なスペースをどうにかすべきかと


・・・。  2005-11-02 02:11:43  No: 127225

スペース以外にも、アンダーバー?っぽいゴミも混じってるよね?


いな  2005-11-02 02:13:58  No: 127226

ipconfig / All 


ipconfig -all では?(WindowsXP Proの場合)


アーク  2005-11-02 02:25:37  No: 127227

Shell "ipconfig /all >""C:\Documents and Settings\arc\nowIP.txt"" "

すいません書き込む時に行がずれてしまったのでスペース・アンダーバーでソースをつなげようとしたのが上手くいかなかったみたいです。
ちなみにコマンドプロンプトで
ipconfig /all >"C:\Documents and Settings\arc\nowIP.txt
と入力した場合は上手くいったのですがVBでやろうとすると上手くいかないのです・・・


ガッ  2005-11-02 02:27:56  No: 127228

|ω・`) 
パイプしてくれるのってコマンドインタプリタさんのはずなので、
cmd /c ipconfig -all > foo.txt
となるのかも。


アーク  2005-11-02 02:35:16  No: 127229

みなさん助言ありがとうございます。
cmd/c ためしてみましたが上手くいきませんでした。


あん  2005-11-02 02:39:53  No: 127230

cmd /c ipconfig -all > foo.txt
みたいなBATを作成して
shellでBATを起動するのれす。
それがいやならwshの出番れす。


アーク  2005-11-02 02:48:30  No: 127231

wshの使い方を教えていただけたらありがたいのですが。


あん  2005-11-02 02:52:45  No: 127232

こんな感じ
あとはファイルに出力してね

Set WshShell = CreateObject("WScript.Shell")
Set oExec    = WshShell.Exec("ipconfig -all")

Do While True

     If Not oExec.StdOut.AtEndOfStream Then
          l = oExec.StdOut.ReadLine
          Debug.Print l
     Else
          Exit Do
     End If
Loop


アーク  2005-11-02 02:53:29  No: 127233

ごめんなさい!!
cmd/c で出来ました。
cmdと/cの間にスペースを入れるの忘れてたみたです。

みなさま本当にありがとうございました。


アーク  2005-11-02 02:56:17  No: 127234

あんさんすいません。
わざわざwsh教えてくださってありがとうございました。
今後必要になったら活用させていただきます。勉強になりました。


あん  2005-11-02 02:57:45  No: 127235

いえいえ
wshだと
いちいちファイル作らなくていいから
便利ですよ


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加