Board logo

标题: [文本处理] 批处理怎么用for截取限定字符串? [打印本页]

作者: 旺财11k    时间: 2023-2-7 12:23     标题: 批处理怎么用for截取限定字符串?

用adb命令 adb shell getprop ro.build.version.incremental
返回值   V12.5.7.0.QFGCNXM
           adb shell getprop ro.build.version.incremental
           V13.0.17.1.55.DEV
如何添加限定条件只截取 12.5.7.0 ? (有时候版本长 有时候版本短 但是格式是固定的)
菜鸟新手 求教!
作者: 旺财11k    时间: 2023-2-7 12:24

路过的大佬教教!能用for实现吗?
作者: aloha20200628    时间: 2023-2-7 13:31

  1. set vStr="V12.5.7.0.QFGCNXM"
  2. @echo off
  3. for /f "delims=" %%a in (%vStr%) do for /f "delims=V" %%b in ("%%~na") do echo,%%b
复制代码

作者: aloha20200628    时间: 2023-2-7 13:46

两步合一步也行
  1. @echo off
  2. set vStr="V12.5.7.0.QVFGCNXM"
  3. for /f "delims=V" %%a in (%vStr%) do echo,%%~na
复制代码

作者: 旺财11k    时间: 2023-2-7 15:27

回复 4# aloha20200628


    感谢!!!!!!
作者: ly_16    时间: 2023-2-7 16:33

两步合一步也行
aloha20200628 发表于 2023-2-7 13:46
  1. @echo off
  2. echo .
  3. echo [!] 网络诊断中……
  4. echo .
  5. @echo off
  6. echo     日期      时间      地址        丢包数   平均时间
  7. (for /f "usebackq delims=" %%a in ("ip.txt") do (
  8.     set /p"=%date:~0,-3% %time:~0,-3% %%a--->"
  9.     for /f "tokens=4 delims==(" %%i in ('ping -n 4 %%a^|findstr /i "丢失 平均 lostavera ge"') do set /p"=%%i "
  10.     echo;
  11. ))<nul
  12. echo .
  13. echo [!] 网络诊断结束,已生成诊断日志。
  14. echo .
  15. pause
复制代码
可以帮我上面生成的诊断日志保存以时间命名的文件,谢谢!!
作者: aloha20200628    时间: 2023-2-7 21:48

假设生成文件的名称格式如 “2023-02-07 21'42'15.txt”
  1. @echo off
  2. echo .
  3. echo [!] 网络诊断中……
  4. echo .
  5. @echo off
  6.     set "outF=%date% %time:~0,-3%.txt"
  7.     set "outF=%outF::='%"
  8.     set "outF=%outF:/=-%"
  9. (echo     日期      时间      地址        丢包数   平均时间
  10. for /f "usebackq delims=" %%a in ("ip.txt") do (
  11.     set /p"=%date:~0,-3% %time:~0,-3% %%a--->"
  12.     for /f "tokens=4 delims==(" %%i in ('ping -n 4 %%a^|findstr /i "丢失 平均 lostavera ge"') do set /p"=%%i "
  13.     echo;
  14. ))<nul>"%outF%"
  15. echo .
  16. echo [!] 网络诊断结束,已生成诊断日志。
  17. echo .
  18. pause
复制代码

作者: ly_16    时间: 2023-2-8 01:16

回复 7# aloha20200628

感谢您热心解答!实现诊断结束以时间命名保存。现还有几个需求也向您请教,1.诊断结果也想同时显示在命令窗口; 2.诊断结果丢包数与平均时间数值之间间隔大些,平均时间数值右移与上标题对齐;3.想方便知道哪 IP 对应设备名称,在 IP 表中添加说明,在执行时不认?





作者: aloha20200628    时间: 2023-2-8 10:21

回复 8# ly_16

阁下诉求渐离本帖原题,建议开另帖请更多熟悉网络诊断的坛友援手...
作者: ly_16    时间: 2023-2-8 12:43

本帖最后由 ly_16 于 2023-2-8 12:45 编辑

回复 9# aloha20200628
不好意思,已经移到另外帖讨教,帮我解答一下
http://www.bathome.net/viewthrea ... mp;extra=#pid264382




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2