[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求教,提取执行结果中的指定字符串[已解决]

我需要提取下面执行结果中的指定位置的字符串(因为每次结果会不同),用FOR命令能达到目的吗?或者有什么其他好办法?
F:\Phone\Diamond\Tools\Dump ROM&bootloader\Dump_SPL>pdocread -l
209.50M (0xd180000) DSK1:
| 3.12M (0x31f000) Part00
| 5.25M (0x540000) Part01
| 83.13M (0x5320000) Part02
| 118.00M (0x7600000) Part03
3.75G (0xf0000000) DSK7:
| 3.75G (0xf0000000) PART00
STRG handles:
handle 27a34ebe 3.75G (0xf0000000)
handle a7ccbf82118.00M (0x7600000)
handle e7db2776 83.13M (0x5320000)
handle 47db2752 5.25M (0x540000)
handle c7db270a 3.12M (0x31f000)
disk 27a34ebe
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk a7ccbf82
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk e7db2776
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 47db2752
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk c7db270a
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


F:\Phone\Diamond\Tools\Dump ROM&bootloader\Dump_SPL>

[ 本帖最后由 xiongmx 于 2008-10-13 19:12 编辑 ]

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "skip=1 tokens=1*" %%i in ('pdocread -l^|findstr /i "^handle"') do (
  3.       set "var=%%j"&set/a n+=1
  4.       echo !var:~,8! !var:~-10,9!
  5.       if !n! equ 2 goto next
  6. )
  7. :next     
  8. pause
复制代码
心绪平和,眼藏静谧。

TOP

呵呵,十分感谢,如果我想把这4个字符串分别赋值该怎么改呢
下一步我要将得到的4个数值分别赋值为size1到size4以加入相应命令行

[ 本帖最后由 xiongmx 于 2008-10-13 18:50 编辑 ]

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "skip=1 tokens=1*" %%i in ('findstr /i "^handle" a.txt') do (
  3.       set "var=%%j"&set "var=!var:~,8! !var:~-10,9!"
  4.       echo !var!&set/a n+=1
  5.       for %%a in (!var!) do set/a m+=1&set "size!m!=%%a"
  6.       if !n! equ 2 goto next
  7. )
  8. :next
  9. for /l %%a in (1 1 4) do echo size%%a !size%%a!
  10. pause
复制代码
You'd better ask all questions in one time.
心绪平和,眼藏静谧。

TOP

十分感谢,刚才脑子没转过来。。。。

TOP

返回列表