如何把一个文件夹下的所有TXT文件,第一句或者第一行头尾插入字符!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把一个文件夹下的所有TXT文件,第一句或者第一行头尾插入字符!相关的知识,希望对你有一定的参考价值。

比如第一句是 “您好,感谢你的帮助” 改成 “<a>您好,感谢你的帮助</a>”

用DOS 命令,批量更改。方法 开始、运行,输入CMD 进入你放文件的盘符,如在E盘,就输入E: 然后CD 你的文件名 如果嫌麻烦,就复制地址栏里面的的地址,(也要先进入文件所在盘符,如在E盘,就输入E:回车)输入 CD空格然后粘贴地址 回车,键入ren *.txt a*b.txt
还有,文件名里是不能加<>/等字符的 ,ren *.txt a*b.txt 里面的a b代表你要加的字,亲测,可行
参考技术A 用2个bat文件,第一个,假如叫做handlefile.bat,接受文件名作为参数,使用for 循环把文件里面每一行输出到output文件夹下的同名文件里面,只是第一行在前后分别插入<a>和</a>。代码如下,很简单,没什么花头:

@echo off
Setlocal enabledelayedexpansion
set firstline=1
for /F "delims=" %%i in (%1) do (
if !firstline! equ 1 (echo ^<a^>%%i^</a^> > output/%1) else (echo %%i >> output/%1)
set firstline=0
)
endlocal

第二个bat文件,假如叫做run.bat,使用for 循环为本目录下面每一个txt文件调用第一个bat进行处理,代码如下:

@echo off
for %%i in (*.txt) do (
handlefile.bat %%i
)
把两个bat文件放到你的txt文件的目录里面,再创建一个叫做output的文件夹,运行run.bat就可以了。

这样做基本上能够满足需求,有2点需要注意的,1是文件名不能有空格,2是文件里面不能有空行。对于第一点,暂时没想到什么好的办法,只能靠人来保证了。第二点可以有解决方案,就是把第一个handlefile.bat的内容替换为如下,这个办法是使用findstr先保证读取的文件每一行都不是空行,然后再进行处理,运行方法更上面一样,只是多创建一个tmp文件夹
@echo off

Setlocal enabledelayedexpansion
findstr /n .* %1>tmp/%1
for /F "tokens=1* delims=:" %%i in (tmp/%1) do (
if %%i equ 1 (echo ^<a^>%%j^</a^> > output/%1) else ( if ""%%j""=="""" (echo. >> output/%1) else (echo %%j >> output/%1))
)
endlocal本回答被提问者和网友采纳
参考技术B 用批处理,具体代码网上有追问

嗯 就是批处理 我找不到 能帮我找一下么

追答

额 你这个是要替换一段字符啊。你下载CharFind这个软件。
选择你要替换的目录 填写被替换字符 和替换字符

追问

不是替换,是在不改变原来的情况下插入, 如过能在txt文本的前20个字符插入最好

比如一个文本是开头是 "一记响亮的耳光狠狠的搧在这张令人嗔恨的脸上护士趁对方惊。。。。" 改成这样的 "一记响亮的耳光狠狠的搧在这张令人嗔恨的脸上护士趁对方惊。。。。"

这样截取前20个字符 然后头尾插入

追答

那你就把“一记响亮的耳光狠狠的” 替换为 "一记响亮的耳光狠狠的"呗

以上是关于如何把一个文件夹下的所有TXT文件,第一句或者第一行头尾插入字符!的主要内容,如果未能解决你的问题,请参考以下文章

python 如何释放缓存?

如何把word文档改为txt电子小说文件

phpStudy站点域名管理

php 如何把一个txt文件内容写入到另一个txt文件中?

Git——如何将本地项目提交至远程仓库(第一次)

python 如何把多个文件内容合并到以一个文件