1. ホーム
  2. スクリプト・コラム
  3. 腹筋

vbs 定期的な監視任務のシフト、定期的に目指しています。

2022-01-01 13:50:38

システム Windows 7

はじめに

あるプログラムを定期的に実行する必要がある場合、どうすればよいでしょうか。ちょっと複雑な方法ですが、うまくいく方法を紹介します。
時間制御の部分はvbsで実装しています

考える:実験計画
目標:Pythonのプログラムを一定時間ごとに実行する
vbsスクリプトを時間制御部分として、batファイルを定期的に実行し、そのbatファイルがpythonファイルを実行します。

ロジックプロセス

コード

vbsセクション

Dim wshDim current_dir
Dim run_mode
Dim bat_addrMsgBox "This script is designed to run python statements at regular intervals"

Set wsh = CreateObject("Wscript.Shell")
current_dir = wsh.currentdirectory

Do While True
  bat_addr = "run.bat"
  wsh.run bat_addr, 0, True
  Wscript.sleep (2*1000) 'rest 2 seconds 

Loop

コードのスクリーンショット

バットセクション

python main.py

パイソンセクション

import win32apiimport win32con

win32api.MessageBox(0, "python is running", "prompt", win32con.MB_OK)

コードのスクリーンショット

実行結果

コードの説明

wsh.run bat_addr, 0, True, bat_addrコマンドを実行する。

0を書くと実行ウィンドウが表示されず、1を書くと以下のように実行ウィンドウが表示されます。

Trueは、次のプログラムの実行が終了するのを待って、次の文を実行するかどうかを示し、Falseと書くと、次のような効果があり、ウイルスの感じがあります。

なぜこの方法を使うかというと、この方法でvbsは定期的に実行され、コンピュータリソースの消費は非常に少ないからです。例えば、私のパソコンでは、CPUの消費量はほぼ0、メモリの消費量は約3000Kで、まだ許容範囲内です(notepad++は、テキストで3ファイルしか開いていないのに、メモリを約20000Kも消費しています)。

パラメータに1を書き込んだ場合の効果

フォルス、エフェクト

今回の記事は以上です。この記事がお役に立てたのなら、これからもスクリプトハウスを応援してくださいね。