在DOS 黑窗 打命令
wmic process
可以获核洞碧得所改举有进程信息。
编程序,用 system("wmic process >my_log.txt")
把 屏幕输出 转向 到 文件 my_log.txt 里。
然后 fopen my_log.txt ,从里面 抓出 你要的 进程。
如果觉得信息太多,查一下帮助文件,找合适的选项命令,wmic process 加上选项 就可以了。
例如:
system("wmic process get ExecutablePath >my_log.txt")
my_log.txt 里有:
C:\WINDOWS\System32\smss.exe
C:\WINDOWS\system32\csrss.exe
C:\WINDOWS\system32\winlogon.exe
C:\WINDOWS\颤樱system32\services.exe
C:\WINDOWS\system32\lsass.exe
C:\WINDOWS\system32\svchost.exe
。。。
在“开始”—“运行”栏中输入“wmic”,然后点“确定”燃毕,此时XP就会数段族d出一个名为“C:\WINDOWS\System32\Wbem\wmic.exe”的命令行黑窗口(如果大家是第一次运行的话,窗口中会先显示“正在薯弊安装WMIC,请稍候。”),它的提示符是“wmic:root\cli>”,我们在其后输入“Process”命令(“进程”的意思)并回车,就会看到进程与其所对应的路径了就按你的方法 剩下御掘谨的就是处理 怎么从 路径里提取 最后一个文件名了方法 1
for /f "tokens=1,2,3,4,5,6,7,8 delims=\" %%i in ('echo %path%') do (
if "%%j"=="" echo %%i &goto :eo
if "%%k"=="" echo %%j &goto :eo
if "镇基%%l"=="" echo %%k &goto :eo
if "%%m"=="" echo %%l &goto :eo
if "%%n"=="" echo %%m &goto :eo
if "%%o"=="" echo %%n &goto :eo
if "%%p"=="" echo %%o &goto :eo
if "%%q"=="" echo %%p &goto :eo
)
:eo
方法 2
for /l %%i in (2,1,40) do if "!path:~-%%i,1!"=="\" (set /a b=%%i-1 &goto :eo)
:eo
echo !path:~-%b%,-1!
把 这两段分别放在你写散雹的最后一个PAUSE的前面
有什么不明白的 给我留言就可以了
第二种方法 @ECHO OFF 再加个 setlocal enabledelayedexpansion 就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)