- 締切済み
ASPからVBScriptの実行
ASPから下のVBScriptを実行使用とすると "500"Internal Server Error が出力されて困ってます。 へるぷみー Dim objWSHShell Set objWSHShell=WScript.CreateObject("WScript.Shell") objWSHShell.Run "cscript.exe d:\test.bat" objWSHShell=Nothing
- みんなの回答 (1)
- 専門家の回答
みんなの回答
動かそうとしているコードはサーバー側のコードとして動かそうとしてますね? まず問題点が2つあります。 まず1つ目は、 ×Set objWSHShell=WScript.CreateObject("WScript.Shell") ◎Set objWSHShell=Server.CreateObject("WScript.Shell") になります。 そして、2つ目は、 WScript.Shellは、IIS(Webサーバー)のセキュリティ制限で 恐らく動かないんじゃないかと。 もしどうしても、ASPからShell実行したいのであれば、BASP21を 導入してShell実行できるようコードを書き換えてください。 ■BASP21の入手先 http://www.hi-ho.ne.jp/babaq/basp21.html ■BASP21を使ってASPからtest.batを呼び出すVBScript Dim bobj Dim rc Dim stdout Set bobj = Server.CreateObject("basp21") rc = bobj.Execute("cmd.exe /c d:\test.bat", 1, stdout) Select Case rc Case 0 : response.write("正常終了") Case -1 : response.write("コマンドエラー") Case -2 : response.write("タイムアウト") End Select Set bobj = Nothing 宜しくお願いします。
お礼
ご回答ありがとうございます。 試してみます