标题: [文本处理] 批处理如何获取/提取tasklist命令返回结果中的第一列/第1列内容 [打印本页]
作者: yeeboys 时间: 2016-10-11 10:43 标题: 批处理如何获取/提取tasklist命令返回结果中的第一列/第1列内容
本帖最后由 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
作者: pcl_test 时间: 2016-10-11 12:31
http://www.bathome.net/thread-2189-1-1.html- for /f "delims=," %%a in ('tasklist /v /fo csv') do @echo;%%~a
- pause
复制代码
- powershell -c "tasklist /v /fo csv|convertfrom-csv|select '映像名称'"&pause
复制代码
作者: yeeboys 时间: 2016-10-11 14:43
回复 2# pcl_test
谢谢好心人
我把第一段话写在bat上,运行后出现的是
C:\Users\Administrator\Desktop\bat>for /F "delims=," %a in ('tasklist /v /fo csv
') do @echo;%~a
然后就不动了,最后还未响应,我是win7的
这两段话是要写在一起呢,还是分开两个bat,求指点
作者: yeeboys 时间: 2016-10-11 14:45
本帖最后由 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
...
我想只显示第三行开始,不要 映像名称 、-------- 行不行
作者: yeeboys 时间: 2016-10-11 15:06
回复 2# pcl_test
netstat -an命令 请问怎么得到第二列冒号后的东西
作者: 949825667@qq.co 时间: 2016-10-11 15:58
回复 5# yeeboys
netstat -an|gawk -F ":" '{print $2}'|gawk -F " " '{print $1}'
作者: pcl_test 时间: 2016-10-11 16:13
回复 3# yeeboys
保存为bat文件运行,而不是在cmd窗口执行
作者: pcl_test 时间: 2016-10-11 16:15
回复 5# yeeboys - @echo off&setlocal enabledelayedexpansion
- for /f "tokens=2" %%a in ('netstat -an^|find ":"') do (
- set str=%%a
- for %%b in ("!str::=\!") do echo;%%~nb
- )
- pause
复制代码
- powershell -c "(netstat -an) -match ':'|%%{($_ -split '\s+')[2].split(':')[-1]}"&pause
复制代码
作者: pcl_test 时间: 2016-10-11 16:17
回复 4# yeeboys
more /?
……select '映像名称'"|more +3&pause
作者: pcl_test 时间: 2016-10-11 16:24
回复 6# 949825667@qq.co
第三方http://www.bathome.net/s/tool/index.html?key=gawk- netstat -an|gawk "/:/{sub(/^.+:/,\"\",$2);print $2}"
复制代码
作者: yeeboys 时间: 2016-10-11 16:46
回复 6# 949825667@qq.co
C:\Users\Administrator>netstat -an|gawk -F ":" '{print $2}'|gawk -F " " '{print
$1}'
'gawk' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
作者: 949825667@qq.co 时间: 2016-10-11 16:47
回复 11# yeeboys
第三方,10楼版主给链接了!
作者: yeeboys 时间: 2016-10-11 16:49
回复 8# pcl_test
像第一个那样写怎么不行
powershell -c "netstat -an /v /fo csv|convertfrom-csv|select '本地地址'"&pause
作者: yeeboys 时间: 2016-10-11 16:57
回复 9# pcl_test
powershell -c "tasklist /v /fo csv|convertfrom-csv|select '映像名称'"|more+3&pause
这样pause就没有了,一闪就关了
作者: pcl_test 时间: 2016-10-11 17:02
回复 13# yeeboys
因为没有这样的语法
tasklist /?
netstat /?
回复 14# yeeboys
如果看不清,建议使用放大镜
作者: yeeboys 时间: 2016-10-11 17:19
回复 15# pcl_test
非常感谢大佬
作者: ybbpgkfdn 时间: 2016-10-13 09:30
回复 6# 949825667@qq.co
着又不是shell
作者: GNU 时间: 2016-10-13 09:55
回复 17# ybbpgkfdn
他用的是Windows版本的 gawk.exe
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |