传教士问:
win下如何 获取进程命令行,及命令行参数?
传教士答:
可以用这个powershell命令(实际上是wmi查询):
(get-wmiobject -query "select * from win32_process").commandline
传教士问:
俺觉得这样用挺不爽,为啥么任务管理器中有,“命令行”这个列(任务管理器--》点详细信息---》点名称---》点右键---》选择列---》选中命令行),
但powershell中的get-process命令却没有.commandline属性?
传教士答:
对,但目前只坐等powershell mvp,吃人饭拉点人屎,跟微软呼吁下。
传教士问:
win下如何获取脚本并发数?及进程并发数?
可以检测任何进程,如exe等。可以检测任何(扩展名)脚本的并发数。但是感脚用wmi有点别扭。
传教士答:
#检测ps脚本进程并发数.ps1
[string]$想要检测的_运行中的脚本名 = 'txt电子书阅读器v3.ps1'
$当前用户下_所有命令的命令行 = (get-wmiobject -query "select * from win32_process").commandline
#当前用户权限下运行,则获得当前用户的。管理员权限运行,则获取所有用户的。 $检测出的脚本进程并发数 = 0
foreach ($temp001 in $当前用户下_所有命令的命令行)
{
if ($temp001 -like "*$想要检测的_运行中的脚本名*")
{
$检测出的脚本进程并发数++
}
}
write-host "检测出的脚本进程并发数 $检测出的脚本进程并发数"
powershell 传教士 原创文章 2015-10-17 允许转载,但必须保留名字和出处,否则追究法律责任
传教士问:
win下获取脚本并发数,有啥么用捏?
传教士答:
获取脚本并发数量这个功能,还是比较常用的。
比如我4有个cpu核心,我就想让脚本4进程跑。每个进程一个脚本,每个脚本,通过给脚本传递参数,分给它一个任务块。
这样我就可以用任务计划+一个ps脚本,定期检查脚本并发数。 如果分发给某脚本的任务块跑完了,即这脚本退出了,就可以增加脚本任务进程。