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

[文本处理] [已解决]批处理如何提取文本中每行指定位置的字符并重新合并成新的一行?

[复制链接]
发表于 2012-7-3 19:18:57 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-12-8 17:43 编辑

有一txt文本记录数据上千条,格式为:   
0000001 ABCDEFG
0000002 GBCDEFA
......
若规定ABCDEFG依次排位是1234567,现在要将ABCDEFG按如下指定位置拆分为35个txt,并依次命名为01、02......35,拆分后01.txt文本记录数据格式为:
0000001 ABC
0000002 GBC
......
上述拆分指定的位置依次为:
123
124
125
126
127
134
135
136
137
145
146
147
156
157
167
234
235
236
237
245
246
247
256
257
267
345
346
347
356
357
367
456
457
467
567
恳望大师相助!
发表于 2012-7-3 20:30:36 | 显示全部楼层
不知所云的说
发表于 2012-7-3 20:37:54 | 显示全部楼层
本帖最后由 apang 于 2012-7-3 21:05 编辑
  1. @echo off
  2. for /f "tokens=1,2 delims= " %%i in (a.txt) do (
  3.   set str=%%j&set num=100
  4.   setlocal enabledelayedexpansion
  5.   for /l %%a in (0 1 6) do (
  6.     set/a n1=%%a+1
  7.     for /l %%b in (!n1! 1 6) do (
  8.       set/a n2=%%b+1
  9.       for /l %%c in (!n2! 1 6) do (
  10.         set/a num+=1
  11.         echo,%%i !str:~%%a,1!!str:~%%b,1!!str:~%%c,1!>>!num:~-2!.txt
  12.       )
  13.     )
  14.   )
  15.   endlocal
  16. )
复制代码
 楼主| 发表于 2012-7-3 22:21:00 | 显示全部楼层
高人!十分感谢!代码简洁,运行速度很快,完美解决问题!谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 05:36 , Processed in 0.026891 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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