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

[文本处理] 批处理BAT得到某列的值,该怎么做?在线等

[复制链接]
发表于 2014-4-2 23:32:08 | 显示全部楼层 |阅读模式
比如输出:
映像名称                       PID 会话名                  会话#       内存使用
========================= ======== ================ =========== ============
System Idle Process       0                                 0         28 K
System                         4                                 0        320 K
csrss.exe                      348 RDP-Tcp#525         1      7,312 K
winlogon.exe                 5600 RDP-Tcp#525       1      5,276 K
rdpclip.exe                    3680 RDP-Tcp#525       1      1,568 K
explorer.exe                  2644 RDP-Tcp#525       1     12,460 K
logon.scr                      6896 Console                4        720 K
jucheck.exe                   6248                            0      4,276 K
jucheck.exe                   3328 RDP-Tcp#525       1        360 K
我想得到这样的值PID_映像名称_内存使用(但PID不包括“RDP-Tcp#525”这类),即是我想要这样的值:0_System Idle Process_28,3328_jucheck.exe_360

我写的脚本是这样:
  1. @echo off & setlocal enabledelayedexpansion
  2. echo {
  3. echo "data":[
  4. for /f "skip=3 tokens=1,2,5" %%i in ('tasklist') do (
  5.     if defined a echo {"{#ProcName}":"!a!"},
  6.     set "a=%%j_%%i_%%k"
  7. )
  8. echo,{"{#ProcName}":"!a!"}
  9. echo ]
  10. echo }
  11. pause
复制代码
发表于 2014-4-3 01:57:56 | 显示全部楼层

  1. for /f "delims=, tokens=1,2,4*" %%i in ('tasklist /fo csv /nh') do (
  2.     if defined a echo {"{#ProcName}":"!a:~,-2!"},
  3.     set "a=%%~j_%%~i_%%~l"
  4. )
  5. echo,{"{#ProcName}":"!a:~-2!"}
复制代码
发表于 2014-4-3 12:28:02 | 显示全部楼层
kankan o 专业的支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 06:34 , Processed in 0.029930 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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