- PR -

WMIでファイル起動について

1
投稿者投稿内容
ランサ
会議室デビュー日: 2006/05/07
投稿数: 5
投稿日時: 2006-05-07 12:51
私は趣味でプログラムを作成しています。
いろいろ調べたのですが行き詰ってしまったのでアドバイスください。

その前に書き込みはココであってますでしょうか・・・
間違ってたらご指摘ください。

VBScriptとWMIを使用してファイル(test1.bat)を起動させたいのですが、
いい方法はありますか?

宜しくお願いします。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2006-05-07 13:04
引用:

その前に書き込みはココであってますでしょうか・・・
間違ってたらご指摘ください。


マッチしてるとは言い難いですが、ほかに妥当な会議室もなさそうですし別に構わないでしょう。

引用:

VBScriptとWMIを使用してファイル(test1.bat)を起動させたいのですが、
いい方法はありますか?


起動させるなら WScript.Shell(WshShell オブジェクト)を使った方が簡単だと思いますが、何か WMI を使わねばならない理由でもありますか?
ランサ
会議室デビュー日: 2006/05/07
投稿数: 5
投稿日時: 2006-05-07 15:34
引用:

起動させるなら WScript.Shell(WshShell オブジェクト)を使った方が簡単だと思いますが、何か WMI を使わねばならない理由でもありますか?



プログラム内容はデータを取得し、マッチングした場合、目的の機器にあわせてPINGをうつためバッチファイルを書き出すというプログラムです。今後のことを考えVB6.0で作成変更しようかと考えて下記を実行してみましたが・・・
オブジェクトが必要ですとメッセージが出てきます。
アドバイス頂けませんでしょうか。

Dim WshShell
Dim WScript
Dim FileRun
Set WshShell = WScript.CreateObject("WScript.Shell")
FileRun = WshShell.Run("test1.bat", 0, true)
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-07 15:53
引用:

ランサさんの書き込み (2006-05-07 15:34) より:

オブジェクトが必要ですとメッセージが出てきます。

Dim WshShell
Dim WScript
Dim FileRun
Set WshShell = WScript.CreateObject("WScript.Shell")
FileRun = WshShell.Run("test1.bat", 0, true)


あなたが定義した WScript の中身がないですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-05-07 16:04
引用:
目的の機器にあわせてPINGをうつためバッチファイルを書き出すというプログラムです。



その用途ですと、わざわざ batch を作成する必要がないと思いますがね。
そのまま、Run とか Exec とかでもいいのでは?

あと、その結果を取得する必要があるか?ってのもありますね。

ちなみに、Windows XP 以降であれば、Win32_PingStatus という class があり、
これを使えばいろいろできます。


Win32_PingStatus


非同期で呼び出すことができますし、なかなか面白いですよ。
ランサ
会議室デビュー日: 2006/05/07
投稿数: 5
投稿日時: 2006-05-07 22:26
引用:

オブジェクトが必要ですとメッセージが出てきます。
Dim WshShell
Dim WScript
Dim FileRun
Set WshShell = WScript.CreateObject("WScript.Shell")
FileRun = WshShell.Run("test1.bat", 0, true)


じゃんぬねっと さんへ
Set WshShell = CreateObject("WScript.Shell")と定義したことで実行できました。
ありがとうございました。

ちゃっぴ さんへ
あまり他のメソッドがわからないためにバッチを作成しました。
また、その結果を出力も考えています。

Win32_PingStatus ですね。調べて勉強します。


ところでマイクロソフトのプロダクトkey(インストールするときのkey)って取得できないんでしょうか。
PC台数が50台以上あり、HDDが壊れたときのために資産管理を行いたいのですが・・・方法ありましたら教えてください。


minminnana
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 246
お住まい・勤務地: 盛岡
投稿日時: 2006-05-07 23:20
普通は(メーカー製は)PCに貼ってありますよね。
そういう話では無く?

それ以上の内容(ソフト的に取得)であれば、別スレッドを立てた方がよろしいかと。
ランサ
会議室デビュー日: 2006/05/07
投稿数: 5
投稿日時: 2006-05-09 21:05
引用:

minminnanaさんの書き込み (2006-05-07 23:20) より:
普通は(メーカー製は)PCに貼ってありますよね。
そういう話では無く?

それ以上の内容(ソフト的に取得)であれば、別スレッドを立てた方がよろしいかと。


PCに貼ってあるものです。
別スレッドにさせていただきます。

今まで回答された方ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)