标题: [求助]如何用批处理获取指定程序进程的PID
[打印本页]
作者: ruisoft
时间: 2008-12-1 21:52
标题: [求助]如何用批处理获取指定程序进程的PID
(代码需要在Win2000下运行!)
如何用批处理获取指定程序进程的PID
[
Last edited by ruisoft on 2008-12-3 at 17:19 ]
作者: tireless
时间: 2008-12-1 21:54
http://www.cn-dos.net/forum/view ... mp;page=1#pid314117
作者: ruisoft
时间: 2008-12-1 23:34
tasklist 只能在WINXP以上系统使用!
作者: pusofalse
时间: 2008-12-1 23:37
只能在XP下使用?为何不把你的系统环境一次性在顶楼说清楚。。。^_^
作者: ruisoft
时间: 2008-12-1 23:49
sorry!sorry!
心急,把应用环境漏了。^_^
sorry!sorry!
作者: huahua0919
时间: 2008-12-2 00:13
如果WMIC 和tsaklist命令不可以用,可以尝试用vbs、
Dim ins,objProcess,OneProcess
ins=InputBox("指定进程名")
set objProcess=GetObject("winmgmts:\\.\root\cimv2")
set OneProcess=objProcess.execquery("select * from win32_process")
for each i in OneProcess
if lcase(i.name)=lcase(ins) then
msgbox i.processID
end if
next
[
Last edited by huahua0919 on 2008-12-2 at 06:18 ]
作者: lxmxn
时间: 2008-12-2 03:16
标题: To huahua0919:
建议这样:if lcase(i.name)=lcase(ins) then
作者: ruisoft
时间: 2008-12-2 09:09
版主能否讲细一些,好吗?
建议这样:if lcase(i.name)=lcase(ins) then
作者: ruisoft
时间: 2008-12-2 09:15
对 VBS 不深,如何在BAT文件中调用下面的值?
msgbox i.processID
作者: s11ss
时间: 2008-12-2 11:36
Quote: |
Originally posted by ruisoft at 2008-12-2 09:15 AM:
对 VBS 不深,如何在BAT文件中调用下面的值?
msgbox i.processID |
|
改为
wsh.echo i.processID
---------------
在批处理中:(假设此vbs名为p.vbs)
for /f %%a in ('cscript //nologo p.vbs') do echo %%a
作者: dos9527
时间: 2008-12-2 12:22
不过貌似进程每一次的PID值都不一样哦
作者: ruisoft
时间: 2008-12-2 16:08
进程PID值会随着程序的每一次启动而不同。
因此,在重启程序之前,先把运行的程序进程终止。
这样就可以保证机器中有只有一个程序对应的进程运行。
作者: tempuser
时间: 2008-12-2 16:59
目前系统都支持WMIC吧,试试这个,我这个也是向这里的朋友请教尝试得来的:
set /p fteding= 请输入要查找的进程
wmic process get caption,processid >c:\temp\jincheng1.txt
type c:\temp\jincheng1.txt | findstr /i "^%fteding%"
作者: ruisoft
时间: 2008-12-2 17:41
Quote: |
Originally posted by tempuser at 2008-12-2 04:59 PM:
目前系统都支持WMIC吧,试试这个,我这个也是向这里的朋友请教尝试得来的:
set /p fteding= 请输入要查找的进程
wmic process get caption,processid > ... |
|
哦!高手,能讲详细些吗?
WMIC ??? !!!
作者: HAT
时间: 2008-12-2 20:59
你的代码需要在Win2000下运行?如果是的话,建议在顶楼描述清楚。