何年も前に aspfaq.com で書いた記事から改作
AT コマンドと Windows Scripting Host (またはより基本的なタスク スケジューラ) を使用して、特定の間隔で VBS ファイルをスケジュールします。
まず、ASP を VBS ファイルに変更します。これは、(1) 拡張子を VBS に変更することによって実現されます。 (2) すべての Server.CreateObject 呼び出しを CreateObject に変更します。 (3) すべての <%%>
を削除する 区切り文字とブラウザー向けのコード (response.write ステートメントやクライアント側の HTML など)。それ以上の合併症には遭遇しませんでしたが、YMMV.
VBS ファイルをファイル システムに保存し、AT コマンドを使用してスケジュールします (これにより、実際には Windows のスケジュール サービスで実行がスケジュールされます)。コマンド プロンプトで、AT を単独で使用して、現在スケジュールに含まれているタスクの一覧を表示できます。 AT /? を使用できます。すべての構文の可能性を見つけるために。
たとえば、ファイルを平日の午前 9:00 に実行するには、次のバッチ ファイルを起動します (最初の行で既存のエントリが消去されます)。
at /delete /y at 9:00 /every:m,t,w,th,f d:\net\shared\getdata.vbs
プレ>Web サーバーが関与していないことに注意してください。ファイルは、ファイル システムを介して直接アクセスされます。 「ユーザーがログインする必要がある」および「再起動時にタスクをリセットする必要がある」というハードル (どちらも、私たちの管理下にない特定のマシンの問題であると私は信じています) を乗り越えたら、すべてが実行されています。私にとっては結構です。
WSH、CDONTS、およびタスク スケジューラを使用して電子メールを定期的に送信する例については、KB #221495 .
SQL Server でのデータベース作業だけを行っている場合は、ジョブの使用を検討してください。これにより、ジョブのすべての処理をデータベース内に保持し、複数のシステム、接続、および ASP コードの動作を非 ASP に似せることに関連する複雑さを防ぐことができます。