• ベストアンサー

dos コマンドを vbsで行うには。

こんにちは。  --ip.bat の内容---- ipconfig >> C:\WINDOWS\デスクトップ\ip.txt ---------- ip.batのアイコンをクリックすると、テキストファイルが作成されますが、これと同じことをvbsでするにはどうゆう記述になりますでしょうか? もしくは、vbsでBATファイルを呼び出す方法は?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

WSH5.6にアップデートしてみてください。 (IEのバージョンは?)

参考URL:
http://www.microsoft.com/japan/msdn/scripting/default.asp
norinori555
質問者

お礼

あたらしいバージョンが出てたのですね。さっそく5.5からwsh5.6にアップしました。 IEは5.5sp2のまま使用します。6.0に変えたほうがよいでしょうか。重たくなりそうなのでバージョンアップは控えてます。 前回教えていただいた、スクリプトを実行したところメッセージボックスには[OK]だけが表示されるようになり、エラーは一応解消しました。 ただIPアドレスが表示されないので原因をしらべてます。

norinori555
質問者

補足

できました。!! ありがとうございました。 Set objExec = WshShell.Exec("コマンド") にてコマンドに入力する値を間違ったため [ok]ボタンしか表示されませんでした。 原因 ipconfigをip.config とピリオドを入れたため正しく動作しませんでした。コマンドの入力ミスのときはエラー表示しないようですね。気をつけます。 もしかしてエラーを表示する方法もあるのでしょうか?

その他の回答 (3)

  • minimum
  • ベストアンサー率46% (6/13)
回答No.3

vbsはほとんど使ったことがないのですが… No.1の方の方法でバッチが動くのならと思い Dim WSH Set WSH = CreateObject("WScript.Shell") WSH.Run("command /c ipconfig >> ip.txt") とか試してみたところ ちゃんと動いているようでしたよ

norinori555
質問者

お礼

おはようございます。 動きますね。ありがとうございます。 この方法だと、バッチファイルを別に用意しなくても良さそうですね。 command /c の使い方についてさらに調べてみたいと思います。 #2の回答者の方へ、お答えの内容について理解を深めているところですのでコメントは少しまってください。スクリプトの切替とWshShell.Execの使い方を調べてます。

回答No.2

基本的には次のようなコードでできます。ただし事前にDOSプロンプトで cscript //h:cscript と打ってvbs(&js)の既定のスクリプトエンジンをcscriptにしておく必要があります。 Set WshShell = WScript.CreateObject("WScript.Shell") Set objExec = WshShell.Exec("コマンド") Do While objExec.Status = 0 WScript.Sleep(100) Loop sout = "" Do While Not objExec.StdOut.AtEndOfStream sout = sout & objExec.StdOut.ReadLine & Chr(13) & Chr(10) Loop MsgBox sout

norinori555
質問者

お礼

回答ありがとうございます。 エラーになってしまいました。 行: 2 文字: 1 エラー: オブジェクトでサポートされていないプロパティまたはメソッドです。: 'WshShell.Exec' コード: 800A01B6 ソース: Microsoft VBScript 実行時エラー Set objExec = WshShell.Exec("コマンド") の部分ですが、具体的にはどうなりますでしょうか? ”コマンド”の部分にipconfigと入れてみたのですが、エラーでした。 コマンドラインからの実行方法ですが、アイコンを右クリックして「DOSプロンプトで開く」を選択しても良いようですね。

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

とりあえずバッチファイルの実行なら簡単なので --vbsの中身----- Dim WSH Set WSH = CreateObject("WScript.Shell") WSH.Run("ip.bat") ---------------- では駄目ですか?

norinori555
質問者

お礼

ありがとうございます。 その方法で起動できました。 あとは、直接DOSコマンドを利用できたらいいのですが・・ と言うのも自分のIPアドレスを取得してそれを表示させようとしてるのですが、なんか方法ありますでしょうか? 私がイメージしてるのは IP.vbsのアイコンをクリックしたら画面に 「あなたのIPアドレスは******です。」 とまずは表示させたいのです。 

関連するQ&A