|  | 
 
| luckboy45 中级用户
 
    
 
 
 积分 487
 发帖 212
 注册 2007-4-1
 状态 离线
 | 
| 『楼 主』:
 [已解决]如何获取进程路径?
 
使用 LLM 解释/回答一下 
 
 
比如我要获得进程名为task.exe的路径,并用CD定位到该文件夹,然后用DIR列出该文件夹下的所有文件,P处理如何实现?
 请帮忙完善以下代码,先谢谢了!~
 
 for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
 set var=%%i
 set drive=!var:~-2!
 fsutil fsinfo drivetype !drive!|find "固定">nul && (
 for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\task.exe 2^>nul') do if not "%%j"=="" goto scan0
 )
 )
 goto :EOF
 :scan0
 echo task.exe它位于......
 pause
 
 Last edited by luckboy45 on 2008-4-27 at 04:39 PM ]
 
 
 
 
 
 |  
                  |  逍遥@浪子@反病毒
 |  | 
|  2008-4-19 17:57 |  | 
|  | 
 
| luckboy45 中级用户
 
    
 
 
 积分 487
 发帖 212
 注册 2007-4-1
 状态 离线
 |  | 
|  2008-4-19 21:12 |  | 
|  | 
 
| bat-zw 金牌会员
 
       永远的学习者
 
 
 积分 3105
 发帖 1276
 注册 2008-3-8
 状态 离线
 |  | 
|  2008-4-19 21:31 |  | 
|  | 
 
| abcd 银牌会员
 
      
 
 
 
 积分 1436
 发帖 739
 注册 2007-10-11
 状态 离线
 | 
| 『第 4 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
wmic process where name="task.exe" get executablepath /value
 
 
 
 
 |  | 
|  2008-4-19 21:44 |  | 
|  | 
 
| luckboy45 中级用户
 
    
 
 
 积分 487
 发帖 212
 注册 2007-4-1
 状态 离线
 | 
| 『第 5 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
4楼兄弟,貌似你对WMIC比较在行,有好的资料推荐点或者给大家分享下啊!~
 Last edited by luckboy45 on 2008-4-27 at 04:11 PM ]
 
 
 
 
 
 |  
                  |  逍遥@浪子@反病毒
 |  | 
|  2008-4-27 14:10 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 | 
| 『第 6 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
vbs我不会,但确实很实用,效率高。我转个vbs的:
 for each ps in getobject _
 ("winmgmts:\\.\root\cimv2:win32_process").instances_
 wscript.echo ps.handle&vbtab&ps.name&vbtab&ps.executablepath:next
 
 
 
 
 
 
 
 |  
                  |  山外有山,人外有人;低调做人,努力做事。
 
 进入网盘(各种工具)~~ 空间~~cmd学习
 |  | 
|  2008-4-27 14:33 |  | 
|  | 
 
| huahua0919 银牌会员
 
      
 
 
 积分 1608
 发帖 780
 注册 2007-10-7
 状态 离线
 | 
| 『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
看了下。VBS好用 Dim fso, f, f1, fc, s
 set fso=Createobject("Scripting.filesystemobject")
 Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
 Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_process where name='cmd.exe'")
 For Each objItem in colItems
 if objitem.ExecutablePath<>"" then
 a=fso.getparentfoldername(objitem.ExecutablePath)
 end if
 Next
 
 Set f = fso.GetFolder(a)
 Set fc = f.Files
 set fd = f.subfolders
 For Each f1 in fc
 s = s & f1.name&chr(13)
 next
 for each  f2 in fd
 s=s&f2.name&chr(13)
 next
 msgbox s
 
 
这下全给你列出来,只是文件太多 
只要把你的进程名字列在where name后面就行了
 
 Last edited by huahua0919 on 2008-4-27 at 03:22 PM ]
 
 
 
 |  | 
|  2008-4-27 14:45 |  | 
|  | 
 
| luckboy45 中级用户
 
    
 
 
 积分 487
 发帖 212
 注册 2007-4-1
 状态 离线
 | 
| 『第 8 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
很遗憾,楼上兄弟,代码提示...无效的过程调用或参数...行11,第1个字符.....因为VBS的滥用,容易引起杀软报毒,所以还是希望能有高人写出BAT版...
 毕竟,对于BAT我还懂一点,VBS完全搞不明白...汗....
 
 
 
 
 
 |  
                  |  逍遥@浪子@反病毒
 |  | 
|  2008-4-27 15:47 |  | 
|  | 
 
| huahua0919 银牌会员
 
      
 
 
 积分 1608
 发帖 780
 注册 2007-10-7
 状态 离线
 |  | 
|  2008-4-27 16:05 |  | 
|  | 
 
| luckboy45 中级用户
 
    
 
 
 积分 487
 发帖 212
 注册 2007-4-1
 状态 离线
 | 
| 『第 10 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
呵呵,多谢兄弟提醒,我试了另一个进程,成功了,4楼兄弟对WMIC很在行的说...呵呵,可是怎么才能实现用CD定位到该文件夹,然后用DIR列出该文件夹下的所有文件呢?
 还有,路径列出后如何输出到文本文件?麻烦各位兄弟帮忙了!~
 
 
 
 
 
 |  
                  |  逍遥@浪子@反病毒
 |  | 
|  2008-4-27 16:10 |  | 
|  | 
 
| huahua0919 银牌会员
 
      
 
 
 积分 1608
 发帖 780
 注册 2007-10-7
 状态 离线
 |  | 
|  2008-4-27 16:14 |  | 
|  | 
 
| luckboy45 中级用户
 
    
 
 
 积分 487
 发帖 212
 注册 2007-4-1
 状态 离线
 | 
| 『第 12 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
我是这样写的...wmic process where name="tm.exe" get executablepath /value >>c:\12.txt
 下面是输出到12.TXT里面的内容
 
 ExecutablePath=C:\Program Files\Tencent\QQ\TMDlls\TM.exe
 
 
 ExecutablePath=C:\Program Files\Tencent\QQ\TMDlls\TM.exe
 
 问题是我要自动实现提取C:\Program Files\Tencent\QQ\TMDlls\下面的所有文件并输出文件列表到22.TXT,请帮忙写出来学习下!~
 
 
 
 
 
 |  
                  |  逍遥@浪子@反病毒
 |  | 
|  2008-4-27 16:19 |  | 
|  | 
 
| huahua0919 银牌会员
 
      
 
 
 积分 1608
 发帖 780
 注册 2007-10-7
 状态 离线
 | 
| 『第 13 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@echo off
 for /f "skip=6 delims== tokens=2" %%i in ('wmic process where "name='cmd.exe'" get executablepath /value') do (
 echo %%~dpi
 set path=%%~dpi
 call :xp %%path%%
 )
 :xp
 dir /a/b %~1
 pause
 
 
 
 
 
 |  | 
|  2008-4-27 16:33 |  | 
|  | 
 
| luckboy45 中级用户
 
    
 
 
 积分 487
 发帖 212
 注册 2007-4-1
 状态 离线
 |  | 
|  2008-4-27 16:38 |  |