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

[文本处理] 批处理把文本中的制表符替换为逗号并合并行

原.txt内容:
  1. 姓名 年龄 性别 民族 工龄
  2. 王鹏飞 23 男 汉 2年
复制代码
修改后.txt内容:
  1. 姓名,年龄,性别,民族,工龄,王鹏飞,23,男,汉,2年
复制代码
厂子员工200多人,以前人员登记放置在一个文件夹里面,每一就像上面原内容一样,现在总厂要统计表,格式要求如同修改后那样.我试过批量替换原容里面的"TAB"成",",但是第一行后面没有"TAB",我没法子在第一行未加上逗号,而且第二行是连起来的.

  1. setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (d.txt) do (
  3. set t=%%i
  4. set t=!t: =,!
  5. set r=!r!!t!,
  6. )
  7. echo %r:~0,-1%
复制代码

TOP

  1. setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (d.txt) do (
  3. set t=%%i
  4. set t=!t:        =,!
  5. set r=!r!!t!,
  6. )
  7. echo %r:~0,-1%>e.txt
复制代码
用的系统是WIN 2003 EE,在桌面显示找不到文件...
放置到根目录,用2楼代码显示的是echo,然后利用昨天晚上学的初级教程,我改成上面的代码基本上可以实现我想要的功能了.

谢谢2楼的...
不知道有没有拖到文件到.bat上面的.这样重命名有点麻烦~!

[ 本帖最后由 largedy 于 2009-9-26 18:45 编辑 ]

TOP

来个VBS的:
  1. Set objFSO = CreateObject("Scripting.FileSystemObject")
  2. Set objTextFile = objFSO.OpenTextFile("a.txt", 1)
  3. Do Until objTextFile.AtEndOfStream
  4.     strLine = objTextFile.ReadLine
  5.     newLine = Replace(strLine, chr(9), ",")
  6.     strString = strString & newLine & ","
  7. Loop
  8. Set objTextFile2 = objFSO.OpenTextFile("a.txt", 2)
  9. objTextFile2.Write Left(strString, Len(strString)-1)
复制代码
(*^_^*)

TOP

返回列表