| 
 
ruisoft 
初级用户
 
  
 
  
  
积分 93 
发帖 57 
注册 2007-3-12 
状态 离线
 | 
『楼 主』:
 [求助]如何用批处理获取指定程序进程的PID
 
使用 LLM 解释/回答一下
  
(代码需要在Win2000下运行!) 
 
如何用批处理获取指定程序进程的PID 
 
 Last edited by ruisoft on 2008-12-3 at 17:19 ] 
 
    
 
  
 |   
 | 
  2008-12-1 21:52 | 
  
 | 
 | 
 
tireless 
银牌会员
 
     
 
  
  
积分 2025 
发帖 1122 
注册 2007-9-5 
状态 离线
 | 
 | 
  2008-12-1 21:54 | 
  
 | 
 | 
 
ruisoft 
初级用户
 
  
 
  
  
积分 93 
发帖 57 
注册 2007-3-12 
状态 离线
 | 
 | 
  2008-12-1 23:34 | 
  
 | 
 | 
 
pusofalse 
银牌会员
 
     
 
  
 
积分 1604 
发帖 646 
注册 2008-4-13 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
只能在XP下使用?为何不把你的系统环境一次性在顶楼说清楚。。。^_^ 
 
    
 
  
  |  
                  
  
                    心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |   
 | 
  2008-12-1 23:37 | 
  
 | 
 | 
 
ruisoft 
初级用户
 
  
 
  
  
积分 93 
发帖 57 
注册 2007-3-12 
状态 离线
 | 
 | 
  2008-12-1 23:49 | 
  
 | 
 | 
 
huahua0919 
银牌会员
 
     
 
  
 
积分 1608 
发帖 780 
注册 2007-10-7 
状态 离线
 | 
 『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
如果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 ]  
 
    
 
     此帖被 +4 点积分      点击查看详情    | 评分人:【 lxmxn 】 | 分数: +4 |   时间:2008-12-2 03:14 |  
  |   
 
 
  
 |   
 | 
  2008-12-2 00:13 | 
  
 | 
 | 
 
lxmxn 
版主
 
        
 
  
 
积分 11386 
发帖 4938 
注册 2006-7-23 
状态 离线
 | 
  『第 7 楼』:
 To huahua0919:
 
使用 LLM 解释/回答一下
  
建议这样:if lcase(i.name)=lcase(ins) then 
 
    
 
 
 
  
 |   
 | 
  2008-12-2 03:16 | 
  
 | 
 | 
 
ruisoft 
初级用户
 
  
 
  
  
积分 93 
发帖 57 
注册 2007-3-12 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
版主能否讲细一些,好吗? 
 
建议这样:if lcase(i.name)=lcase(ins) then 
 
    
 
  
 |   
 | 
  2008-12-2 09:09 | 
  
 | 
 | 
 
ruisoft 
初级用户
 
  
 
  
  
积分 93 
发帖 57 
注册 2007-3-12 
状态 离线
 | 
 | 
  2008-12-2 09:15 | 
  
 | 
 | 
 
s11ss 
银牌会员
 
     
 
  
  
积分 2098 
发帖 566 
注册 2007-9-11 
状态 离线
 | 
『第 10 楼』:
 
 
使用 LLM 解释/回答一下
  
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  
 
    
 
  
 |   
 | 
  2008-12-2 11:36 | 
  
 | 
 | 
 
dos9527 
中级用户
 
   
 
  
 
积分 252 
发帖 56 
注册 2003-12-29 
状态 离线
 | 
 | 
  2008-12-2 12:22 | 
  
 | 
 | 
 
ruisoft 
初级用户
 
  
 
  
  
积分 93 
发帖 57 
注册 2007-3-12 
状态 离线
 | 
『第 12 楼』:
 
 
使用 LLM 解释/回答一下
  
进程PID值会随着程序的每一次启动而不同。 
 
因此,在重启程序之前,先把运行的程序进程终止。 
 
这样就可以保证机器中有只有一个程序对应的进程运行。 
 
    
 
  
 |   
 | 
  2008-12-2 16:08 | 
  
 | 
 | 
 
tempuser 
高级用户
 
    
 
  
  
积分 547 
发帖 261 
注册 2006-4-15 
状态 离线
 | 
『第 13 楼』:
 
 
使用 LLM 解释/回答一下
  
目前系统都支持WMIC吧,试试这个,我这个也是向这里的朋友请教尝试得来的: 
 
set /p   fteding=    请输入要查找的进程     
wmic  process  get   caption,processid >c:\temp\jincheng1.txt 
type c:\temp\jincheng1.txt | findstr /i "^%fteding%" 
 
    
 
  
 |   
 | 
  2008-12-2 16:59 | 
  
 | 
 | 
 
ruisoft 
初级用户
 
  
 
  
  
积分 93 
发帖 57 
注册 2007-3-12 
状态 离线
 | 
『第 14 楼』:
 
 
使用 LLM 解释/回答一下
  
Originally posted by tempuser at 2008-12-2 04:59 PM: 
目前系统都支持WMIC吧,试试这个,我这个也是向这里的朋友请教尝试得来的: 
 
set /p   fteding=    请输入要查找的进程     
wmic  process  get   caption,processid > ...  
哦!高手,能讲详细些吗?
 
WMIC ??? !!!  
 
    
 
  
 |   
 | 
  2008-12-2 17:41 | 
  
 | 
 | 
 
HAT 
版主
 
        
 
  
  
积分 9023 
发帖 5017 
注册 2007-5-31 
状态 离线
 | 
 | 
  2008-12-2 20:59 | 
  
 |