Board logo

标题: WMIC输出是否可以自定义 [打印本页]

作者: everest79     时间: 2007-2-27 01:20    标题: WMIC输出是否可以自定义


wmic process get processid,executablepath
以上两项输出自定义processid为第一列,executablepath为第二列,可否?
@echo off
::view connection by:everest@cn-dos.net
::!executablepath-expand-LO!set adv= wmicprocess where handle="%dtp%" get executablepath|find /v /i "executablepath"
:top
ECHO   Simple Netstat             网络连接查看器              timeon:%time:~0,-3%
ECHO --------------------------------------------------------------------------------
ECHO     本机地址/端口         远程地址/端口         连接状态    进程 进程名称
for /f "skip=4 tokens=*" %%i in ('netstat -abn') do (
set nh=%%i                   x
call set nha=%%nh:]=%%
echo %%i|findstr /b "[">nul&&call echo %%nhb%% %%nha:~1,12%%||call set nhb=%%nh:~0,3%%:%%nh:~7,21%%-%%nh:~30,21%% %%nh:~53,11%% %%nh:~69,5%%&&call set adv=%%nh:~69,5%%
)
ECHO.&ECHO steering command: (r)refresh  (c)close  (cls)clear screen&ECHO.
:input
set /p cc="%CD%\netuse>"
if /i not "%cc%" == "cls" (if /i not "%cc%" == "r" (if /i not "%cc%" == "c" (goto input) else (exit/b)) else (echo/&echo.&echo\&goto top)) else (cls&goto input)
不满足的是没有一个简单快捷的方法获取进程完整路径

大家新年好

[ Last edited by everest79 on 2007-2-27 at 09:57 PM ]
作者: lxmxn     时间: 2007-2-27 01:58


  Quote:
不满足的是没有一个简单快捷的方法获取进程完整路径

  感谢新年作品,获取进程完整的路径可以用WMIC:
wmic process get commandline

作者: oilio     时间: 2007-2-27 02:03
wmic process get commandline,caption
感觉这样看得更清楚一点。
作者: everest79     时间: 2007-2-28 05:28
本来想在执行netstat之前生成当前系统进程path变量表,例如 _pid8=C:\windows\system32\svchost.exe
但使用wmic process get processid,executablepath输出的表格中executablepath始终在pid前边,而路径比较复杂,没办法在for中取得完整路径与pid
for /f "skip=4 tokens=1,2" %%i in ('"wmic process get processid,executablepath"') do set _pid%%j=%%i
请问有没有办法自定义表格输出?
后来打算每行都执行以下代码,但显示速度就有点慢
wmicprocess where handle="%dtp%" get executablepath|find /v /i "executablepath"

作者: everest79     时间: 2007-2-28 20:34
请大家指点
作者: everest79     时间: 2007-3-3 06:06
再请教,呵呵
作者: kinpol     时间: 2008-4-30 20:46
请问 怎么用vc6来调用wmic进行编程,是不是还得windows DDK进行辅助编程??请指教