• ベストアンサー

ASPからOSコマンドを送る方法。

【質問】 ASPからOSコマンドを送る方法は ありませんでしょうか? 例) PHPやPerlにおけるsystem()関数、backtick 演算子等に該当する処理。 【環境】 ASPをVBScripttにてプログラミングしています。 環境はWindowsXP Proでローカルで、 IISを立ち上げプログラミングしています。 以上。よろしくおねがいします。

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

  • ベストアンサー
  • hequil
  • ベストアンサー率65% (242/372)
回答No.1

Wscript.ShellオブジェクトのRunメソッドで可能です。 'サーバ側でメモ帳を通常サイズで起動する Set objWsh = Server.CreateObject("WScript.Shell") objWsh.Run "c:\windows\notepad.exe", 2, 1 Set objWsh = Nothing

cybert
質問者

補足

hequilさんありがとうございます。 ただ、残念なことに教えて頂いたコードは 実行することができませんでした。 具体的には、ステータスバーに”開いています”が 永遠と表示されるだけです。 notepad.exeをC:\Inetpub\wwwrootに移動し objWsh.Run "c:\windows\notepad.exe", 2, 1 を objWsh.Run "C:\Inetpub\wwwroot\notepad.exe", 2, 1 に書き換えましたがそれでも変わりませんでした。 何か他にご存知でしたらお願いします。

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

>ただ、残念なことに教えて頂いたコードは >実行することができませんでした。 何を根拠に実行することが出来なかったと確認したのでしょうか? IISはバックグラウンドで動いているので、notepadのようなGUIアプリケーションを実行したところで、GUIが表示されないだけでプログラム自体は動いている可能性もあります。 なので、 >具体的には、ステータスバーに”開いています”が >永遠と表示されるだけです。 と、エラーを出さずにnotepadが終わるのを待っているのではないでしょうか? まずはCUI系のアプリケーション等を動かして、本当に外部プログラムが呼ばれていないのか確認してみてください。 また、外部プログラムの実行はRunよりはExecの方が制御しやすいかと思います。

関連するQ&A