Board logo

标题: [问题求助] 批处理如何将文本中每行以指定字符分割的同一列内容合并成一行 [打印本页]

作者: jiashadidai_110    时间: 2012-11-17 16:16     标题: 批处理如何将文本中每行以指定字符分割的同一列内容合并成一行

本帖最后由 pcl_test 于 2016-11-2 19:44 编辑

请问大家一个问题,如何解决一个文本输入问题
比如现在我有一个文本,内容如下:
2,2,2,2,2,2,2,2
3,3,3,3,3,3,3,3

现在我想这样输出内容:
2
2
2
2
2
2
2
2
先把2一个一个按行输出
在2输完后,再输出3
但3只能在第二列,不能接着输出,格式这样:
23
23
23
23
23
23
23
23
问题来了,由于2输完后,再输出3,3是接着2输出的,变成这样了
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
怎么解决了??
作者: tmplinshi    时间: 2012-11-17 17:10

本帖最后由 tmplinshi 于 2012-11-17 17:32 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%a in (a.txt) do (
  4.     set n=0
  5.     set str=%%a
  6.     set str=!str:,=" "!
  7.     for %%b in ("!str!") do (
  8.         set /a n += 1
  9.         for %%c in ("!n!") do (
  10.             set _!n!=!_%%~c!%%~b
  11.         )
  12.     )
  13. )
  14. for /l %%a in (1 1 !n!) do echo,!_%%a!
  15. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2