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

[文本处理] 批处理怎样提取文本?

比如文本文件1.txt内容如下
U Percentage         =      47.310368633
V Percentage         =      13.429474740

Point on Face        XC =   -7.206359227          X =   -7.206359227      
                     YC =    0.207949979          Y =    0.207949979      
                     ZC =   21.642631315          Z =   21.642631315      
U First Derivative   XC =   14.155746145          X =   14.155746145      
                     YC =  -82.965589343          Y =  -82.965589343      
                     ZC =    0.000000000          Z =    0.000000000      

V First Derivative   XC =    0.000000000          X =    0.000000000      
                     YC =    0.000000000          Y =    0.000000000      
                     ZC =  -25.000000000          Z =  -25.000000000      

Unit Face Normal     XC =    0.985754378          X =    0.985754378      
                     YC =    0.168191281          Y =    0.168191281      
                     ZC =    0.000000000          Z =    0.000000000      

Principal Radii of Curvature
Minimum              =     -13.395206706
Maximum              = Infinite

------------------------------------------------------------

Geometric properties for face
Information Units    mm

U Percentage         =      45.290722375
V Percentage         =      84.025423921

Point on Face        XC =   -7.597661914          X =   -7.597661914      
                     YC =    1.860952417          Y =    1.860952417      
                     ZC =    3.993644020          Z =    3.993644020      

U First Derivative   XC =   24.541866779          X =   24.541866779      
                     YC =  -80.506962053          Y =  -80.506962053      
                     ZC =    0.000000000          Z =    0.000000000      

V First Derivative   XC =    0.000000000          X =    0.000000000      
                     YC =    0.000000000          Y =    0.000000000      
                     ZC =  -25.000000000          Z =  -25.000000000      

Unit Face Normal     XC =    0.956542235          X =    0.956542235      
                     YC =    0.291593814          Y =    0.291593814      
                     ZC =    0.000000000          Z =    0.000000000      

Principal Radii of Curvature
Minimum              =     -13.395206706
Maximum              = Infinite
我想提取Point on Face后XC,YC,ZC,unit Face Normal X,Y,Z值,保留小数点4位,并输出到新的文本文件2.txt中格式如下
1   -7.2063   0.2079  21.6426    0.9857   0.1681  0.0000
2   -7.5976  1.8609   3.9936     0.9565   0.2915  0.0000
请高手指点怎么写批处理,

本帖最后由 batman 于 2011-4-25 19:48 编辑

有点麻烦:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.txt) do (
  3.     for /f "tokens=1" %%b in ("%%a") do (
  4.         for %%c in (Point Unit) do if "%%b" equ "%%c" set "flag=a"
  5.         if defined flag (
  6.            for /f "tokens=2,3 delims==" %%b in ("%%a") do (
  7.                set /a n+=1
  8.                if !n! leq 3 (
  9.                   set "a=%%b"&set "b=%%c"
  10.                   for %%a in (a b) do (
  11.                       for /f "tokens=1,2 delims=." %%b in ("!%%a!") do set "xs=%%c"&set "_%%a=!_%%a! %%b.!xs:~,4!"
  12.                   )
  13.                   ) else (
  14.                   set "flag="&set /a n=0
  15.                )  
  16.             )
  17.          )
  18.      )
  19. )
  20. (for %%a in (a b) do echo !_%%a:~1!)>2.txt
  21. start 2.txt
复制代码
***共同提高***

TOP

返回列表