我正在使用Windows 7
我写了一个脚本来检查我的笔记本电脑是以电池还是交流电流运行。 我用Google搜索并在那里成功。
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
但我现在的问题是。如果我希望手动终止,这个脚本一直在运行脚本如何停止。
我有什么方法可以找到这个过程并在Windows中停止吗?
答案 0 :(得分:12)
我至少可以想到两种不同的方式:
使用任务管理器(Ctrl-Shift-Esc),选择进程选项卡,查找进程名称cscript.exe或wscript.exe并使用End Process。
从命令行可以使用taskkill / fi“imagename eq cscript.exe”(根据需要更改为wscript.exe)
另一种方法是使用脚本和WMI。以下是一些提示:查找Win32_Process类和Terminate方法。
答案 1 :(得分:4)
可以从任务管理器终止运行脚本。
但是,使用 .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
键盘快捷键: 右键单击脚本图标,选择创建快捷方式, 右键单击脚本快捷方式图标,选择属性,单击快捷键并自行创建。
键入快捷键,所有脚本结束。干杯
答案 2 :(得分:2)
在您的代码中,在'do while'语句之后,添加此行..
`Wscript.sleep 10000`
这会让你的脚本睡眠10秒,让你的系统休息。否则,您的处理器将每秒运行此脚本数百万次,这肯定会加载您的处理器。
要杀死它,只需转到taskmanager并杀死wscript.exe,如果找不到,你会找到cscript.exe,按下删除按钮杀死它。这些将出现在任务管理器的进程选项卡中。
在代码中添加该行后,我不认为您需要终止此过程。它不会加载你的CPU。
度过美好的一天。
答案 3 :(得分:1)
启动任务管理器,单击“进程”选项卡,右键单击wscript.exe并选择“结束进程”,然后在随后的对话框中进行确认。这将终止正在执行脚本的wscript.exe。
答案 4 :(得分:0)
创建一个Name.bat文件,其中包含以下行。
taskkill /F /IM wscript.exe /T
请确保不要压倒处理器。 如果您运行的是长脚本,则处理器速度会发生变化,脚本行会相互覆盖。