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

[文本处理] 【已解决】求助:批处理如何分解竖排数据并添加序号?

[复制链接]
发表于 2018-6-4 06:05:51 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2018-6-4 10:57 编辑

D:\数据1\中有210个文本,分别命名为001-210,每个文本内数据格式统一.
例如001.txt数据格式:
5679
0588
4415
5966
...
欲将001.txt的数据:
5679分解为56 79
0588分解为05 88
4415分解为44 15
5966分解为59 66
...
然后竖排为:
56
79
05
88
44
15
59
66
...
再添加序号(1000001为起始序号):
1000001 56
1000002 79
1000003 05
1000004 88
1000005 44
1000006 15
1000007 59
1000008 66
...
导出到D:\数据2\001.txt

同理,D:\数据1\中的文本002-210如上处理后,分别导入D:\数据2\002.txt-210.txt

评分

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

查看全部评分

发表于 2018-6-4 09:17:46 | 显示全部楼层
没做测试,所以请备份数据.
  1. @echo off&setlocal enabledelayedexpansion
  2. set "sd=D:\数据1"
  3. set "dd=D:\数据2"
  4. for /f "delims=" %%a in ('dir /a-d/s/b *.txt') do (
  5.         set /a "n=1000000"
  6.         (for /f "delims=" %%b in ('type "%%a"') do (
  7.                 set "var=%%b"
  8.                 set/a n+=1
  9.                 set/p"=!n!        "<nul
  10.                 echo;!var:~,2!
  11.                 set/a n+=1
  12.                 set/p"=!n!        "<nul
  13.                 echo;!var:~2!
  14.         ))>"%dd%\%%~nxa"
  15. )
  16. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 完美解决问题

查看全部评分

发表于 2018-6-4 10:31:26 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion

  3. for /f %%a in ('dir /b D:\数据1\*.txt') do (
  4.     set nu=1000001
  5.     (for /f %%i in (D:\数据1\%%a) do (
  6.     set str=%%i
  7.     echo !nu! !str:~0,2!
  8.     set /a nu+=1
  9.     echo !nu! !str:~2,4!
  10.     set /a nu+=1
  11.     ))>D:\数据2\%%a
  12.     )
  13. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 问题完美解决

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 10:34 , Processed in 0.019353 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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