ASPソースのジョブキック

背景として、自動タスクで設定しているプログラムがあるのだけど

特定の条件下ではそのプログラムをVBScriptの.aspファイルから

直接キックして起動したい。というもの。

以前できていたんだけど、突然環境が変わったらできなくなった!

って金曜騒いでたんだけど原因がわかったのでメモ。

原因はキックされるプログラムが1つから、2つになったこと。

一つは動作する実際のプログラムで、もういっこは設定ファイル。

main.vbsでcommon.vbsを呼び出して各種設定を読み込んで

いるのだけど、.aspから呼び出されるmain.vbsは絶対パスで

呼び出している。ところがmain.vbsとcommon.vbsは同一ディレクトリ

内にあるので、わざわざ絶対パスでかかれていなかった、という事

が原因。main.vbs内でcommon.vbsを読み込む際もウェブから

呼び出してキックされるためには全てが完全なパス指定でかかれ

ていないとダメ!ってことだった。

今までこういうのは権限!権限が悪い!ヽ(`Д´)ノって思いがちだったので

すごい落とし穴。カレントディレクトって一体どこになるんだ、っていう話し。

.aspが置かれているwebroot配下になるのかなあ。

広告
カテゴリーASP

One Reply to “ASPソースのジョブキック”

  1. ちなみに呼び出し方は
    こんな感じ。

    Set WshShell = Server.CreateObject(“WScript.Shell”)
    WshShell.Run “C:\webs\sales\mail\sendmail\MailMagazine_SendBatch.vbs”

    NTサーバー限定なのかな。たしかXP のHOME Editionでは動かなかった記憶が。セキュリティの問題かな。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中