标题: [文件操作] [已解决]批处理如何找到指定进程对应的exe程序路径? [打印本页]
作者: zhangwencheng 时间: 2009-6-18 12:21 标题: [已解决]批处理如何找到指定进程对应的exe程序路径?
本帖最后由 pcl_test 于 2017-4-30 22:02 编辑
昨天我的电脑中毒了,进程里有三个explorer.exe,我知道c:\windows下的explorer.exe是正常的,如果结束该进程就什么都干不了。
但关键是三人explorer.exe 如何得到 explorer.exe路径,删除伪explorer.exe ?
得到文件路径我已经想了很久了,并非一时兴起来发贴。还请达人指导……
[ 本帖最后由 zhangwencheng 于 2009-6-23 16:58 编辑 ]
作者: Batcher 时间: 2009-6-18 12:36
- wmic process where name="explorer.exe" get executablepath /value
复制代码
作者: zhangwencheng 时间: 2009-6-21 18:02
C:\>wmic process where name="explorer.exe" get executalbepath /value
节点 - WWW-F82493CB783
错误:
代码 = 0x80041017
说明 = 无效查询
设备 = WMI
作者: zhangwencheng 时间: 2009-6-21 18:02
为什么呢? 好像不行呀……
作者: zhouyongjun 时间: 2009-6-21 19:35
楼主对着写也写错,也真够粗心的。。。
作者: yslyxqysl 时间: 2009-6-21 20:05
executablepath
executalbepath
作者: Batcher 时间: 2009-6-22 09:55 标题: 回复 4楼 的帖子
对于使用了code标签的帖子,如果想复制其代码,只需点击帖子右侧的“复制内容到剪贴板”即可。
体验一下这个功能吧^_^
作者: zhangwencheng 时间: 2009-6-22 12:55
哎呀! 真粗心,抄错了,真的不好意思!!!
还有一事不明,还请各位指教:
就是查看进程的路径知道了,那怎么查看文件的路径?
例如在C盘下:dir /a |find "boot.ini" ,这样会找到boot.ini文件,但看不到boot.ini文件的路径。
如何查看文件的路径呢?
[ 本帖最后由 zhangwencheng 于 2009-6-22 13:00 编辑 ]
作者: Batcher 时间: 2009-6-22 12:58 标题: 回复 8楼 的帖子
给dir命令加个/s开关试试
作者: zhangwencheng 时间: 2009-6-22 13:04
C:\>dir /s |find "boot.ini"
2009-06-21 07:45 233 boot.ini
2008-12-24 14:11 231 boot.ini.backup
这样吗?
还是显示不了路径……
……
作者: keen 时间: 2009-6-22 13:50 标题: 回复 10楼 的帖子
试试这样:- for /f "delims=" %%i in ('dir /a /s /b^|find /i "boot.ini"') do @echo %%~fi
复制代码
作者: Batcher 时间: 2009-6-22 16:22 标题: 回复 10楼 的帖子
- dir /s /b /a|find "boot.ini"
复制代码
作者: zhangwencheng 时间: 2009-6-22 23:11
呵呵,真高兴,你们真好。11楼和12楼的代码都可行!
12楼的贴子效率更高……
作者: keen 时间: 2009-6-23 12:56 标题: 回复 13楼 的帖子
问题得到解决后,请主动给标题前面添加【已解决】字样,谢谢!
作者: zhangwencheng 时间: 2009-6-23 14:48
等一下吧,再问一个。就是:
for /f "delims=" %%i in ('dir /a /s /b^|find /i "boot.ini"') do @echo %%~fi
~fi是扩展到路径。
但(dir /a /s /b ^ |find /i "boot.ini") 为什么要加转义符?
还有for /f "delims=" 是什么意思。能不能讲一讲它的用法?
作者: Batcher 时间: 2009-6-23 15:26 标题: 回复 15楼 的帖子
for语句中的管道符为何要用尖号^进行转义?
http://bbs.bathome.net/viewthread.php?tid=1290&page=2#pid6306
批处理for语句中tokens=*和delims=的区别是什么?
http://bbs.bathome.net/viewthread.php?tid=1654#pid8870
建议发帖求助之前先体验一下论坛的搜索功能吧^_^
Q: 如何使用论坛搜索功能来解决自己的问题?
A: 参考《批处理之家论坛使用常见问题FAQ》:http://bbs.bathome.net/thread-3473-1-1.html
作者: keen 时间: 2009-6-23 15:31 标题: 回复 15楼 的帖子
加转义字符是因为CMD有个预读机制,在执行每个语句之前都会先把整个一行读入,查看是否符合它的语法规范。而在这里加转义符^,是为了在预读时,把管道符|转义为普通字符。否则会直接作为管道符执行,结果就错误。
“delims=”这个意思是用什么作为分隔符,这里这样的写法就是不用任何符号作为分隔符。而默认是空格为分割符,这样写,可以去掉默认的空格作为分割符。
作者: zhangwencheng 时间: 2009-6-23 16:57
呵呵!谢谢,已结……
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |