标题: [文本处理] 批处理如何在文本包括空行的每行末尾添加指定字符串? [打印本页]
作者: hylijianjun 时间: 2011-4-22 17:17 标题: 批处理如何在文本包括空行的每行末尾添加指定字符串?
本帖最后由 pcl_test 于 2017-3-20 08:39 编辑
下面是找的网上的,可以在txt每行后加入[br/],但是如果文本中有空行的话,替换后空行就会消失。
我的想法如下:
原文本:
第一行
第二行
第四行
转变效果如下:
第一行[br/]
第二行[br/]
[br/]
第四行[br/]
新人求助,麻烦各位了。
这是固定添加[br/]的- @echo off
- mode con lines=12 cols=60
- color a
- :begin
- set lj=
- cls
- echo 输入目标文件位置 ,支持拖拽.
- echo 例如:
- echo c:\abc\story.txt
- set /p lj=请输入:
- if not defined lj goto begin
- set lj=%lj:"=%
- if not exist "%lj%" goto begin
- for /f "tokens=* usebackq" %%i in ("%lj%") do >>"%lj:.txt=%BR.txt" echo %%i^[br^/]
- pause
复制代码
这是自定义添加字符的- @echo off
- mode con lines=12 cols=60
- color a
- :begin
- set lj=
- cls
- echo 输入目标文件位置 ,Xp下支持拖拽.
- echo 例如:
- echo c:\abc\story.txt
- set /p lj=请输入:
- if not defined lj goto begin
- set lj=%lj:"=%
- if not exist "%lj%" goto begin
- echo.
- set tj=
- set /p tj= 请输入添加的内容:
- for /f "tokens=* usebackq" %%i in ("%lj%") do >>"%lj:.txt=%BR.txt" echo %%i%tj%
- pause
复制代码
作者: CrLf 时间: 2011-4-22 17:29
- (for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do echo;%%b[br/])>2.txt
复制代码
作者: hylijianjun 时间: 2011-4-22 21:01
(for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do echo;%%b)>2.txt
zm900612 发表于 2011-4-22 17:29
非常感谢,测试成功
作者: Commander 时间: 2011-4-22 23:16
- sed -i "s/$/\[br\/\]/g" a.txt
复制代码
作者: applba 时间: 2011-4-23 12:29
哎,感觉还是vbs的函数好用……
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |