社内の任意の人相手に、自動でメッセージを飛ばそうとしています。
下記内容で動かないのですが、どこかおかしいところはありますでしょうか。
ipmsgのパスとホスト名は間違いないはずです。
msg = "テスト。これが届いたら返信してください";
var member = new Array();
member = ['ipmsg記載のホスト名',
'ipmsg記載のホスト名'];
WshShell = new ActiveXObject("WScript.Shell");
for (var i in member)
{
// IPmsgを起動しメンバーに対してメッセージを送信する
ipmsg = "c:/program files/IPMsg/ipmsg.exe /MSG " + member[i] + " " + msg;
WshShell.Exec(ipmsg);
}
元ネタはこちら
http://d.hatena.ne.jp/Chisei/20101212/p1
vbscript ってのが間違い。
あのソースは jscript です。
スクリプトの拡張子を、.vbs ではなく、.js にして wscript で実行したら、きちんと動きますよ。
プログラムのフルパスや、メッセージに空白が含まれてるのがまずいんじゃないのか、と思って、試してみたのが以下のソースです。
WshShell = new ActiveXObject("WScript.Shell"); msg = "hello boy !"; ipmsg = "c:/program files/IPMsg/ipmsg.exe /MSG localhost " + msg; WshShell.Exec(ipmsg);
これを hatena.js で保存して、
d> wscript hatena.js
で、自分に飛んできました(実は、予想外)。
少なくともプログラムのフルパスは、ダブルクォートでくくらないとダメだと思ったんですけどね。
WshShell = new ActiveXObject("WScript.Shell"); msg = "hello boy !"; ipmsg = "\"c:/program files/IPMsg/ipmsg.exe\" /MSG localhost " + msg; WshShell.Exec(ipmsg);
ちなみに OSが 64ビットとかだと program filesが 変わってきます。
2012/09/14 12:06:21ありがとうございます。それは大丈夫でした!
2012/09/14 13:51:38