批处理文件。在子串出现后解析字符串,而不是分隔符。

我有一个批处理文件脚本显示我的adb工具的输出。

FOR /F "skip=1 delims=~" %%x IN ('adb devices -l') DO echo %%x

2行输出

0123456789ABCDEF       device product:java_joyplus_qb7 model:TM702B4_3G device:java_joyplus_qb7 transport_id:12
F9NPFP084096           device product:WW_P023 model:P023 device:P023_1 transport_id:11

我想解析 “transport_id: “后面的非空格子串,第一行我想得到12,第二行想得到11。我怎么能做到这一点?

解决方案:

如果我没有理解错的话,下面的内容是指 应该输出你需要的信息。

@Echo Off

For /F "Skip=1 Tokens=1*" %%G In ('adb.exe devices -l') Do (Set "DI=%%H"
    SetLocal EnableDelayedExpansion
    For /F %%I In ("!DI:*transport_id:=!") Do EndLocal & Echo %%I)

Pause

而且,如果你想从 :

For /F "Skip=1Tokens=1*" %G In ('adb.exe devices -l')Do @Set "DI=%H"&For /F %I In ('Cmd /D/V/C Echo "!DI:*transport_id:=!"')Do @Echo %~I

本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/25556.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表评论

登录后才能评论