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

[文本处理] [已解决]批处理按格式要求输出文本内容到各个TXT

[复制链接]
发表于 2014-5-8 09:13:36 | 显示全部楼层 |阅读模式
一个目录下有多个相似文本a.txt,b.txt,c.txt...,文本内容如下

坐标系=西安坐标系
几度分带=
投影类型=高斯克吕格
计量单位=米
带号=
精度=
转换参数=X平移,Y平移,
[地块坐标]
4,1.4653,2009-43,地块1,面,57,未利用地,,@
J01,1,X,Y
J02,1,X,Y
J03,1,X,Y
J01,1,X,Y
4,1.3925,2009-43,地块2,面,57,未利用地,,@
J01,1,X,Y
J02,1,X,Y
J03,1,X,Y
J01,1,X,Y
4,1.3925,2009-43,地块3,面,57,未利用地,,@
J01,1,X,Y
J02,1,X,Y
J03,1,X,Y
J01,1,X,Y

请教大神把文本的内容按照
J01,Y,X
J02,Y,X
J03,Y,X
J01,Y,X
注意位置
为一个文本输出,文本名称是J01上一行的"地块1"。同样地块2、地块3也是这样格式输出!
但是因为b.txt,c.txt...中同样有很多地块,所以要把每个txt输出的文本放在以文本名称命名
的文件夹内。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-5-8 10:14:46 | 显示全部楼层
本帖最后由 apang 于 2014-5-8 10:47 编辑
  1. @echo off & setlocal enabledelayedexpansion
  2. for %%i in (*.txt) do (
  3.     md "%%~ni" 2>nul
  4.     for /f "usebackq delims=" %%a in ("%%i") do (
  5.         set "str=%%a"
  6.         if "!str:,地块=!" neq "!str!" (
  7.             for /f "delims=," %%b in ("!str:*,地块=!") do (
  8.                 set "Name=地块%%b"
  9.             )
  10.         ) else if defined Name (
  11.             for /f "tokens=1,3,4delims=, " %%b in ("!str!") do (
  12.                 echo,%%b,%%d,%%c>>"%%~ni\!Name!.txt"
  13.             )
  14.         )
  15.     )
  16.     set "Name="
  17. )
  18. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2014-5-8 10:28:05 | 显示全部楼层
回复 2# apang
文本内容不是按照给出的格式,原始的是
J01,1,X,Y
J02,1,X,Y
J03,1,X,Y
J01,1,X,Y   
现在的是
J01,Y,X
J02,Y,X
J03,Y,X
J01,Y,X
麻烦再帮忙看看,谢谢!
发表于 2014-5-8 10:48:02 | 显示全部楼层
回复 3# blueskyczg


    已修改
 楼主| 发表于 2014-5-8 11:05:16 | 显示全部楼层
回复 4# apang
已解决,非常感谢!
顺便问下,Excel的相似的文本内容可以批处理么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 03:15 , Processed in 0.016696 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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