找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 74316|回复: 17

[文本处理] 批处理如何获取/提取tasklist命令返回结果中的第一列/第1列内容

[复制链接]
发表于 2016-10-11 10:43:23 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-10-11 11:01 编辑

tasklist怎么取第一列的
C:\Users\Administrator>tasklist

映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         24 K
System                           4 Services                   0     68,688 K
smss.exe                       336 Services                   0      1,224 K
csrss.exe                      508 Services                   0      5,968 K
wininit.exe                    632 Services                   0      5,600 K

评分

参与人数 1PB -2 收起 理由
pcl_test -2 未按版规发帖

查看全部评分

发表于 2016-10-11 12:31:47 | 显示全部楼层
http://www.bathome.net/thread-2189-1-1.html
  1. for /f "delims=," %%a in ('tasklist /v /fo csv') do @echo;%%~a
  2. pause
复制代码
  1. powershell -c "tasklist /v /fo csv|convertfrom-csv|select '映像名称'"&pause
复制代码
 楼主| 发表于 2016-10-11 14:43:42 | 显示全部楼层
回复 2# pcl_test

谢谢好心人
   我把第一段话写在bat上,运行后出现的是
C:\Users\Administrator\Desktop\bat>for /F "delims=," %a in ('tasklist /v /fo csv
') do @echo;%~a
然后就不动了,最后还未响应,我是win7的
这两段话是要写在一起呢,还是分开两个bat,求指点
 楼主| 发表于 2016-10-11 14:45:03 | 显示全部楼层
本帖最后由 yeeboys 于 2016-10-11 14:51 编辑

回复 2# pcl_test


    C:\Users\Administrator\Desktop\bat>for /F "delims=," %a in ('tasklist /v /fo csv
') do @echo;%~a
'tasklist /v /fo csv' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

第二个脚本可以,结果是
映像名称
--------
System Idle Process
System
smss.exe
csrss.exe
...
我想只显示第三行开始,不要 映像名称 、--------  行不行
 楼主| 发表于 2016-10-11 15:06:54 | 显示全部楼层
回复 2# pcl_test


netstat -an命令  请问怎么得到第二列冒号后的东西
发表于 2016-10-11 15:58:20 | 显示全部楼层
回复 5# yeeboys


    netstat -an|gawk -F ":" '{print $2}'|gawk -F " " '{print $1}'
发表于 2016-10-11 16:13:54 | 显示全部楼层
回复 3# yeeboys
保存为bat文件运行,而不是在cmd窗口执行
发表于 2016-10-11 16:15:28 | 显示全部楼层
回复 5# yeeboys
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=2" %%a in ('netstat -an^|find ":"') do (
  3.     set str=%%a
  4.     for %%b in ("!str::=\!") do echo;%%~nb
  5. )
  6. pause
复制代码
  1. powershell -c "(netstat -an) -match ':'|%%{($_ -split '\s+')[2].split(':')[-1]}"&pause
复制代码
发表于 2016-10-11 16:17:36 | 显示全部楼层
回复 4# yeeboys
more /?
……select '映像名称'"|more +3&pause
发表于 2016-10-11 16:24:35 | 显示全部楼层
回复 6# 949825667@qq.co
第三方http://www.bathome.net/s/tool/index.html?key=gawk
  1. netstat -an|gawk "/:/{sub(/^.+:/,"",$2);print $2}"
复制代码
 楼主| 发表于 2016-10-11 16:46:27 | 显示全部楼层
回复 6# 949825667@qq.co


    C:\Users\Administrator>netstat -an|gawk -F ":" '{print $2}'|gawk -F " " '{print
$1}'
'gawk' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
发表于 2016-10-11 16:47:30 | 显示全部楼层
回复 11# yeeboys


    第三方,10楼版主给链接了!
 楼主| 发表于 2016-10-11 16:49:14 | 显示全部楼层
回复 8# pcl_test

像第一个那样写怎么不行
    powershell -c "netstat -an /v /fo csv|convertfrom-csv|select '本地地址'"&pause
 楼主| 发表于 2016-10-11 16:57:17 | 显示全部楼层
回复 9# pcl_test


    powershell -c "tasklist /v /fo csv|convertfrom-csv|select '映像名称'"|more+3&pause
这样pause就没有了,一闪就关了
发表于 2016-10-11 17:02:10 | 显示全部楼层
回复 13# yeeboys
因为没有这样的语法
tasklist /?
netstat /?
回复 14# yeeboys
如果看不清,建议使用放大镜
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:26 , Processed in 0.017140 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表