Windows 7を使用しています
ノートパソコンがバッテリーで動作しているかAC電流で動作しているかを確認するスクリプトを作成しました。私はそれをググって、それに成功しました。
dim a
a=1
Do While a=1
If IsLaptop( "." ) Then
' WScript.Echo "Laptop"
Else
' WScript.Echo "Desktop or server"
End If
Loop
Function IsLaptop( myComputer )
On Error Resume Next
Set objWMIService = GetObject( "winmgmts://" & myComputer & "/root/cimv2" )
Set colItems = objWMIService.ExecQuery( "Select * from Win32_Battery", , 48 )
IsLaptop = False
For Each objItem in colItems
if objItem.BatteryStatus=2 and objItem.EstimatedChargeRemaining=98 then
WScript.Echo "Remove Ac Adapter Immediately"
elseif objItem.BatteryStatus=1 and objItem.EstimatedChargeRemaining=10 then
WScript.Echo "Pluggin to charger immediately"
end if
Next
If Err Then Err.Clear
On Error Goto 0
End Function
しかし、私の問題は今です。このスクリプトは、手動で終了する場合に停止するスクリプトを実行しています。
このプロセスを見つけてウィンドウで停止する方法はありますか?
私は少なくとも2つの異なる方法を考えることができます:
タスクマネージャー(Ctrl-Shift-Esc)を使用してプロセスタブを選択し、プロセス名cscript.exeまたはwscript.exeを探して、プロセスの終了を使用します。
コマンドラインからtaskkill/fi "imagename eq cscript.exe"を使用できます(必要に応じてwscript.exeに変更します)
別の方法は、スクリプトとWMIを使用することです。ここにいくつかのヒントがあります:Win32_ProcessクラスとTerminateメソッドを探します。
実行中のスクリプトは、タスクマネージャから終了できます。
ただし、スクリプトが永続的にフォーカスするプログラムウィンドウで。AppActivateを使用している場合、タスクマネージャーにアクセスするのが非常に難しくなる可能性があります。したがって、私はスクリプト(私は明らかな理由で自己破壊と呼んでいます)を作成し、スクリプトをアクティブにするキーボードショートカットキーを作成することをお勧めします。
自己破壊スクリプト:
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "taskkill /f /im Cscript.exe", , True
WshShell.Run "taskkill /f /im wscript.exe", , True
キーボードショートカット:スクリプトアイコンを右クリックして、ショートカットの作成を選択し、スクリプトショートカットアイコンを右クリックして、プロパティを選択し、ショートカットキーをクリックして、独自のショートカットを作成します。
ショートカットキーを入力すると、すべてのスクリプトが終了します。乾杯
コードの「do while」ステートメントの直後に、この行を追加します。
`Wscript.sleep 10000`
これにより、スクリプトが10秒間スリープし、システムが休止します。そうでなければ、あなたのプロセッサはこのスクリプトを毎秒数百万回実行し、これは間違いなくあなたのプロセッサをロードします。
それを殺すには、タスクマネージャーに移動してwscript.exeを殺すか、それが見つからない場合はcscript.exeを見つけて、削除ボタンを押して殺してください。これらはタスクマネージャーのプロセスタブにあります。
コードにその行を追加したら、このプロセスを終了する必要はないと思います。 CPUはロードされません。
すてきな一日を。
タスクマネージャーを起動し、[プロセス]タブをクリックして、wscript.exeを右クリックし、[プロセスの終了]を選択して、次のダイアログで確認します。これにより、スクリプトを実行しているwscript.exeが終了します。
次の行を含むName.batファイルを作成します。
taskkill /F /IM wscript.exe /T
プロセッサを圧倒しないでください。長いスクリプトを実行している場合、プロセッサの速度が変化し、スクリプトの行が互いに上書きされます。