找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22128|回复: 9

[问题求助] [已解决]VBS如何直接得到某进程名的PID?

[复制链接]
发表于 2016-11-26 22:42:17 | 显示全部楼层 |阅读模式
本帖最后由 eeemail 于 2016-11-27 23:11 编辑
  1. Set w = GetObject("winmgmts:")
  2. Set p = w.ExecQuery("select * from win32_process where name='lsass.exe' ")
  3.   For Each i In p
  4. msgbox i.processID
  5. next
复制代码
这样可以得到PID,但是我想查询的程序限制只能有一个进程,所以不想用  For Each  In 来循环,想直接得到该进程名的pid,怎么写?

想得到类似下面这样的格式:
Set objSWbemObject = GetObject("winmgmts:Win32_Processor.DeviceID='cpu0'")
Wscript.echo "首枚CPU序列号:" & objSWbemObject.ProcessorId
发表于 2016-11-26 23:52:24 | 显示全部楼层
进程名可以有多个相同的,不能用那种方式
……
msgbox i.processID
exit for
next
 楼主| 发表于 2016-11-27 19:48:50 | 显示全部楼层
回复 2# pcl_test
多谢,那我想取查询所得的集合中的第一个值怎么写?
发表于 2016-11-27 19:57:13 | 显示全部楼层
回复 3# eeemail

2楼不是给了么
 楼主| 发表于 2016-11-27 20:03:09 | 显示全部楼层
回复 4# pcl_test

好吧,算我没说清楚,2楼尽管得到了第1个的,但我想要方法:如果该exe有8个进程,那我想取第5个进程的pid怎么写?谢谢
发表于 2016-11-27 20:06:52 | 显示全部楼层
本帖最后由 pcl_test 于 2016-11-27 20:28 编辑

回复 5# eeemail

加个计数不就是么
For Each i In p
n=n+1
if n=5 then msgbox i.processID

next

评分

参与人数 1技术 +1 收起 理由
eeemail + 1 Thank you

查看全部评分

 楼主| 发表于 2016-11-27 20:10:39 | 显示全部楼层
回复 6# pcl_test

不好意思,完全没有编程基础,只是工作上有些需要。
能否给出完整代码?
 楼主| 发表于 2016-11-27 20:13:20 | 显示全部楼层
回复 6# pcl_test


    另外,刚在bat去发了个类似的主题好像被删了,也请帮忙:
for /f "delims= " %%a in ('wmic process where "name='notepad.exe'" get processid ^|findstr "[0-9]"') do echo;%%a
pause
我想传递第一,三个pid给vbs,然后msgbox显示,怎么写?

0编程基础的玩这个伤不起啊
发表于 2016-11-27 21:17:30 | 显示全部楼层
本帖最后由 pcl_test 于 2016-11-27 21:23 编辑

嗯,然而这里也不是帮你做事的地方,先学点基础再说
  1. @echo off
  2. for /f "tokens=2delims==" %%a in ('wmic process where "name='notepad.exe'" get processid /value ^|find "="') do set /a n+=1&call set #%%n%%=%%a
  3. echo;%#1%
  4. echo;%#3%
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
eeemail + 1 Thanks

查看全部评分

 楼主| 发表于 2016-11-27 21:54:17 | 显示全部楼层
回复 9# pcl_test
十分感谢,因极少用到,所以实在无精力深究
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:43 , Processed in 0.094523 second(s), 13 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表