标题: [文本处理] 批处理把文本中的制表符替换为逗号并合并行 [打印本页]
作者: largedy 时间: 2009-9-26 03:15 标题: 批处理把文本中的制表符替换为逗号并合并行
原.txt内容:- 姓名 年龄 性别 民族 工龄
- 王鹏飞 23 男 汉 2年
复制代码
修改后.txt内容:- 姓名,年龄,性别,民族,工龄,王鹏飞,23,男,汉,2年
复制代码
厂子员工200多人,以前人员登记放置在一个文件夹里面,每一就像上面原内容一样,现在总厂要统计表,格式要求如同修改后那样.我试过批量替换原容里面的"TAB"成",",但是第一行后面没有"TAB",我没法子在第一行未加上逗号,而且第二行是连起来的.
作者: Seter 时间: 2009-9-26 17:43
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (d.txt) do (
- set t=%%i
- set t=!t: =,!
- set r=!r!!t!,
- )
- echo %r:~0,-1%
复制代码
作者: largedy 时间: 2009-9-26 18:38
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (d.txt) do (
- set t=%%i
- set t=!t: =,!
- set r=!r!!t!,
- )
- echo %r:~0,-1%>e.txt
复制代码
用的系统是WIN 2003 EE,在桌面显示找不到文件...
放置到根目录,用2楼代码显示的是echo,然后利用昨天晚上学的初级教程,我改成上面的代码基本上可以实现我想要的功能了.
谢谢2楼的...
不知道有没有拖到文件到.bat上面的.这样重命名有点麻烦~!
[ 本帖最后由 largedy 于 2009-9-26 18:45 编辑 ]
作者: keen 时间: 2009-9-26 20:16
来个VBS的:- Set objFSO = CreateObject("Scripting.FileSystemObject")
- Set objTextFile = objFSO.OpenTextFile("a.txt", 1)
- Do Until objTextFile.AtEndOfStream
- strLine = objTextFile.ReadLine
- newLine = Replace(strLine, chr(9), ",")
- strString = strString & newLine & ","
- Loop
- Set objTextFile2 = objFSO.OpenTextFile("a.txt", 2)
- objTextFile2.Write Left(strString, Len(strString)-1)
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |