标题: [文本处理] [已解决]批处理怎样把多个TXT文件批量每行中不同的位置分别插入一个字符? [打印本页]
作者: gannh 时间: 2012-11-21 16:00 标题: [已解决]批处理怎样把多个TXT文件批量每行中不同的位置分别插入一个字符?
本帖最后由 gannh 于 2014-5-31 15:09 编辑
现有3000多个TXT文件,内容格式为:
111111111
22222222
33333
44444444
我想用批处理在他们之间第3个数字插入:得到下面的效果
111:111111
222:22222
333:33
444:44444
在网上找了好几天了,也查询了很多资料了,也没找到合适的答案
后来在这里找到类似的问题《批处理怎样把TXT文件每行中不同的位置分别插入一个字符?》,但却是单文件的,而且是输出不同文件的,我却要的是多文件批量,且在原文件上修改的,不知道这边有没有大师可以帮忙?
非常感谢~~~~~
作者: tmplinshi 时间: 2012-11-21 16:19
前面三个字符是否含有中文?
作者: gannh 时间: 2012-11-21 16:19
同问,请问如何在下面代码上作修改而实现?- @echo off&setlocal enabledelayedexpansion
-
- for /f "delims=" %%i in (1.txt) do (
-
- set t=%%i
-
- >>2.txt echo !t:~,5!^|!t:~5,2!^|!t:~7,3!^|!t:~10,7!^|!t:~17,12!^|!t:~29,99!
-
- )
-
- echo OK &pause
复制代码
有高手能帮忙吗?谢谢
作者: gannh 时间: 2012-11-21 16:20
回复 2# tmplinshi
没有中文的,谢谢
作者: apang 时间: 2012-11-21 16:22
- @echo off
- for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
- (for /f "usebackq delims=" %%b in ("%%a") do (
- set "str=%%b"
- setlocal enabledelayedexpansion
- set "a=!str:~,3!"
- set "b=!str:~3!"
- echo,!a!:!b!
- endlocal
- ))>$
- move $ "%%a"
- )
- pause
复制代码
作者: gannh 时间: 2012-11-21 16:27
回复 5# apang
谢谢apang哥,感激不尽。。。。。
作者: gannh 时间: 2012-11-21 16:35
回复 5# apang
再请教apang哥,现在问题是反过来,如何将多文件中每行的第四个字符:删除?谢谢
作者: tmplinshi 时间: 2012-11-21 16:39
回复 tmplinshi
没有中文的,谢谢
gannh 发表于 2012-11-21 16:20
复制代码
sed 下载地址: http://bathome.net/thread-15605-1-4.html
作者: tmplinshi 时间: 2012-11-21 16:43
本帖最后由 tmplinshi 于 2012-11-21 16:44 编辑
删除每行第四个字符:复制代码
作者: gannh 时间: 2012-11-21 16:46
回复 9# tmplinshi
请问tmplinshi 兄,sed是一个什么命令文件?通过sed/?没有查到有用的帮助,请问有使用帮忙文件吗?谢谢
作者: tmplinshi 时间: 2012-11-21 16:51
本帖最后由 tmplinshi 于 2012-11-21 17:01 编辑
回复 10# gannh
http://www.gnu.org/software/sed/manual/sed.html
在 Google 里搜索 sed 教程,可以找到很多教程。
作者: gannh 时间: 2012-11-21 16:55
回复 11# tmplinshi
谢谢兄台分享,感激
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |