我应该使用什么工具才能轻松打印出 Windows 中当前正在运行的所有进程的列表?
或者也许我可以使用一些命令。有什么建议吗?
答案1
该tasklist
命令将输出所有正在运行的进程的列表。您可以将其重定向到文本文件,tasklist > filename.txt
然后使用记事本或任何其他处理文本文件的程序打印该文件。
答案2
在 PowerShell 中,您可以使用:get-process
或get-wmiobject WIN32_PROCESS
。
好的,但是 PowerShell 可以显示更多详细信息吗? 比 CMD 任务列表还多吗?
get-process | format-table -property * -autosize
gps | ft * -auto
(相同命令,但较短版本)get-wmiobject WIN32_PROCESS | format-table -property * -autosize
gwmi WIN32_PROCESS | ft * -auto
(相同命令,但较短版本)
呃,太详细了。我可以选择我需要的列吗?
gps | ft name,ID,sessionID,basepriority,priorityClass,path -auto
gwmi WIN32_PROCESS | ft name,processID,priority,CommandLine -auto
啊,好多了。但有些列被截断了。我可以通过保存到文件来避免这种情况,对吗?
gps | ft * -auto | Out-File D:\process-list.txt -Width 4096
gwmi WIN32_PROCESS | ft * -auto | Out-File D:\process-list.txt -Width 4096
太棒了。直接打印怎么样?
gps | ft * -auto | Out-Printer
gwmi WIN32_PROCESS | ft * -auto | Out-Printer
我也可以将它们导出为 CSV 吗?
gps | select * | Export-Csv D:\process-list.csv
gwmi WIN32_PROCESS | select * | Export-Csv D:\process-list.csv
哦,太酷了。我可以按内存或 CPU 使用率对输出进行排序吗?
gwmi WIN32_PROCESS | Sort ws -desc | ft name, @{Name="Mem Usage (KB)";Expression={[math]::round($_.ws / 1kb)}} -auto
gwmi Win32_PerfFormattedData_PerfProc_Process | sort PercentProcessorTime -desc| ft name, PercentProcessorTime -auto
所有命令的完整解释SS64.com以及一些示例和可用的别名。
答案3
电源外壳
Get-Process | Out-File d:\processes.txt