vbs实现的tasklist效果代码

(编辑:jimmy 日期: 2024/12/29 浏览:2)

This short script uses WMI to display the same information than in the tool "tasklist", but dumping the result on the console. It can dump remote tasks running on another computer,
这个简短的脚本使用wmi显示与工具“tasklist”中相同的信息,但只有在命令行下输出结果。它也可以在另一台计算机上查看远程任务,
文件名:tasklist.vbs
要求:无
作者:Jean-Luc Antoine
提交日期:2005年7月14日
类别:4K

核心代码

Option explicit 
If right(Ucase(WScript.FullName),11)="WSCRIPT.EXE" Then
	wscript.echo "You should run this script from the command line (cmd)" & vbCrLf & "cscript " & wscript.ScriptFullName
	WScript.Quit
End If

dim strComputer,objWMIService,colProcesses,objProcess,ProcessTime,strCreationDate,user,Domain,strOwner,h,m,s,chaine
strComputer = "." 
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process")    ' where Name='IEXPLORE.EXE' 
Chaine="Process   |Creation Date Time |Handles|Threads|Owner       |Priority|MemoryUsage|MaxMemUsage|MemRequired|MaxMemRequi|    Swap|  Max Swap|CPU time|PID |PFaults|Path" & vbCrLf 
For Each objProcess in colProcesses 
    If objProcess.GetOwner ( User, Domain ) = 0 Then 
        strOwner= Domain & "\" & User 
    Else 
        strOwner="Unknown" 
    End If 
    ProcessTime=(CSng(objProcess.KernelModeTime) + CSng(objProcess.UserModeTime)) / 10000000 
    h=right("0" & fix(ProcessTime/60/60),2) 
    ProcessTime=ProcessTime-h*60*60 
    m=right("0" & fix(ProcessTime/60),2) 
    s=Right("0" & round(ProcessTime-m*60),2) 
    strCreationDate=Mid(objProcess.CreationDate,7,2) & "/" & Mid(objProcess.CreationDate,5,2) & "/" & Left(objProcess.CreationDate,4) & " " & Mid(objProcess.CreationDate,9,2) & ":" & Mid(objProcess.CreationDate,11,2) & ":" & Mid(objProcess.CreationDate,13,2) 
    If strCreationDate="// ::" Then strCreationDate=Space(19) 
    Chaine=Chaine & Left(objProcess.Name & space(8),12) & "|" _ 
        & strCreationDate & "|" & Right(Space(6) & objProcess.HandleCount,7) & "|" _ 
        & Right(Space(6) & objProcess.ThreadCount,7) & "|" _ 
        & Left(strOwner & space(14),19) & "|" _ 
        & Left(objProcess.Priority & Space(7),8) & "|" _ 
        & Right(Space(10) & objProcess.PageFileUsage ,11) & "|" _ 
        & Right(Space(10) & objProcess.PeakPageFileUsage ,11) & "|" _ 
        & Right(Space(8) & objProcess.WorkingSetSize ,11) & "|" _ 
        & Right(Space(8) & objProcess.PeakWorkingSetSize ,11) & "|" _ 
        & Right(Space(10) & objProcess.VirtualSize ,11) & "|" _ 
        & Right(Space(10) & objProcess.PeakVirtualSize ,11) & "|" _ 
        & h & ":" & m & ":" & s & "|" _ 
        & Left(objProcess.ProcessID & space(3),4) & "|" _ 
        & Right(Space(6) & objProcess.PageFaults ,7) & "|" & objProcess.ExecutablePath 
    Chaine=Chaine & vbCrLf 
Next 
wscript.echo chaine

代码运行方法,将上面的代码为tasklist.vbs

在cmd下 cscript tasklist.vbs 即可,也可以在cmd下 cscript tasklist.vbs >list.txt直接将结果保存为list.txt查看也比较容易

好了,代码到此结束

一句话新闻

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。