Board logo

标题: [文本处理] [已解决]批处理怎样获取进程的完整路径及文件名? [打印本页]

作者: temp    时间: 2009-12-21 12:33     标题: [已解决]批处理怎样获取进程的完整路径及文件名?

先说一下用途:自动结束非法进程后,重新获得一个非法进程列表,希望根据新的非法进程列表找到详细的路径

(查找复活的非法进程先结束后改名,然后创建同文件名的文件夹,最后写出完整的路径及文件名)
dir c:\WINDOWS\system32 | find /i ""
dir c:\WINDOWS\system32 | findstr /i "" |more
fc.exe /c back.txt temp.txt>

假设非法进程列表.TXT包含:
1.exe
2.exe
IEXPLORE.EXE

希望得到:
X:\..\1.EXE
X:\..\2.EXE
C:\Program Files\Internet Explorer\IEXPLORE.EXE

谢谢!

[ 本帖最后由 temp 于 2009-12-22 23:39 编辑 ]
作者: abxialiang    时间: 2009-12-21 17:48

你要获取路径的话用这行命令
wmic process get executablepath
具体自己研究吧,主要是要先学下wimc这个命令的使用方法
作者: temp    时间: 2009-12-22 08:58     标题: 回复 2楼 的帖子

谢谢!

VB和wmic在我的禁用范围内,我不想用wmic

等我测试一下别人刚发的帖子,也许能解决

@echo off
for /r c: %%b in (qq.exe) do (
     if exist "%%~fb" (echo "%%~fb")&pause&exit /b
)
作者: temp    时间: 2009-12-22 23:38

此问题已解决,感谢所有在此论坛帮人解决问题及提问题的朋友们
作者: Batcher    时间: 2009-12-22 23:48     标题: 回复 4楼 的帖子

把你的解决方案给大家分享一下吧,也许有后来人用得上呢。
作者: temp    时间: 2009-12-23 00:23     标题: 回复 5楼 的帖子

是在http://bbs.bathome.net/thread-6833-2-1.html中一位朋友提供的,与我要的结果还有一点出入,原因是有找不到的提示,我的计划是根据输出的完整路径及文件名,给搜到的文件改名,同时创建同名的文件夹防止重生,同时还要记录到文本文件中,防止误系统文件当成非法文件

原码如下,
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%h in (Illegal.txt) do (
  3.   for %%a in (C D E F) do (
  4.     cd /d %%a:\
  5.     for /r %%b in (%%h) do (
  6.       if exist "%%~fb" (echo "%%~fb")
  7.     )
  8.   )
  9. )
  10. pause
复制代码

作者: neorobin    时间: 2009-12-23 01:37     标题: 回复 6楼 的帖子

http://bbs.bathome.net/viewthrea ... amp;page=2#pid44398
改了下, 可显示隐藏文件

楼主的计划是否最终已实现, 没有的话, 这里的很多朋友还是会很热心的给予帮助的
作者: zqz0012005    时间: 2009-12-23 08:46

看来楼主还不知道进程、程序、软件是什么意思。。。
作者: temp    时间: 2009-12-23 12:33     标题: 回复 8楼 的帖子

说实话,还真弄不明白

我知道的是0 1,自己的理解是通 断,专业的名词叫什么非 门
程序就是把0 1组合起来,进程就是正在运行的程序,软件就是实现某些功能的程序的组合
0 1在磁盘上就是N S极

声明:不是抬杠,是瞎说着玩,请版主不要介意
作者: temp    时间: 2009-12-23 12:37

原帖由 neorobin 于 2009-12-23 01:37 发表
http://bbs.bathome.net/viewthread.php?tid=6833&page=2#pid44398
改了下, 可显示隐藏文件

楼主的计划是否最终已实现, 没有的话, 这里的很多朋友还是会很热心的给予帮助的

谢谢!
在WINXP上测试通过

如果能把结果输出到文本文件中的话今天晚上就能实现
作者: cjiabing    时间: 2009-12-23 13:04

手机上网不方便,有空你看我发的同名文件病毒专杀,
作者: cjiabing    时间: 2009-12-23 13:06

手机上网不方便,有空你看我发的同名文件病毒专杀。用wmic是最方便的,假如单纯用tasklist需要配合for搜索硬盘。
作者: temp    时间: 2009-12-23 14:57     标题: 回复 12楼 的帖子

谢谢!

我没搜到 同名文件病毒专杀 是批处理吗?

如果加过密我就不看了

听说wmic功能太强大,我把它禁用了

我连CMD.EXE都计划把它从系统盘中清除掉,可惜没做到

[ 本帖最后由 keen 于 2009-12-23 17:07 编辑 ]
作者: Batcher    时间: 2009-12-23 21:11     标题: 回复 13楼 的帖子

你在本论坛看过哪些加密的批处理?能否跟我分享一下
作者: temp    时间: 2009-12-23 21:45     标题: 回复 14楼 的帖子

我经常下载别人做好的批处理文件包,学习里面自己感兴趣的东西,然后加上自己的想法照猫画虎自己写

我从http://get.adobe.com/flashplayer/安装的Adobe Flash Player 10 ActiveX,发现它偷偷的安装了很多功能,今天我把Flash10d.ocx提取出来,用regsvr32 /s E:\Macromed\Flash\Flash10d.ocx一注册,就可以用了

前一端时间下载了一些,具体是从哪个网站下的忘记了,加密的部分是关于备份ADLS密码的
作者: zqz0012005    时间: 2009-12-23 22:02     标题: 回复 9楼 的帖子

既然你知道,那显然你的目的是获得程序路径。
要获得进程路径,当然应该用2楼所说的方式。
否则就是文不对题。
作者: temp    时间: 2009-12-25 22:19     标题: 回复 2楼 的帖子

我测试了你写的命令,是查看所有正在运行的进程及完整的路径
  1. for /f "delims=." %%a in ('wmic process get executablepath^|findstr /I ".exe"') do echo %%a.exe
复制代码

作者: temp    时间: 2009-12-25 22:23     标题: 回复 12楼 的帖子

我找到了你发的帖子http://bbs.bathome.net/thread-3420-1-2.html,是查看c盘下所有可执行程序及完整的路径
  1. for /f "skip=1 " %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do dir /s/b/a %%a\*.exe | find ".exe">>oku.txt
  2. for /f "skip=1 " %%a in ('wmic logicaldisk where "drivetype='2'" get deviceid') do dir /s/b/a:d %%a\*.exe | find ".exe">>ok.txt
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2