标题: [文本处理] [已解决]求批处理文件批量删除文本文件第一行第一列 [打印本页]
作者: pwq 时间: 2019-6-13 10:27 标题: [已解决]求批处理文件批量删除文本文件第一行第一列
各位大师:您们好!
我的一个文件夹里有一部小说,由许多编号从000~090文本文件组成,每个文本文件构成一个篇章,每个篇章的第一行都有二个本篇章的标题,标题之间隔开三个空格,二个标题的内容是重复的(我看着不顺眼,想去掉一个)(当然每个篇章第一行标题是不同的)。我这里有个网上下载的批处理,专门删除文本文件第一行第一列的,我试过,处理效果非常好。但它只能处理一个文本文件,不能对许多文本文件进行一次性的批量处理。我把该批处理传给您们,烦请有兴趣的高人编辑一下,将它改成能批量删除文本文件第一行第一列的。非常感谢!网上下载的批处理如下:- @echo off
- for /f "tokens=1 delims= " %%i in ('type "写入.txt"') do (
- echo %%i >new.txt
- goto :step2
- )
- :step2
- for /f "delims=" %%j in ('more +1 "写入.txt"') do (
- echo %%j >>new.txt
- )
- pause
复制代码
我的说明:这里的"写入.txt"就是待处理的文本文件;"new.txt"就是处理好的新文件。所以它只能处理一个文本文件不能批量处理许多文件。我是外行,知道有个循环往复读取信息的功能,但不知如何编写,请高人帮忙了。谢谢。向高人学习。
作者: zaqmlp 时间: 2019-6-13 11:14
- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- set "folder=结果"
- cd /d "%~dp0"
- md "%folder%" 2>nul
- for /f "delims=" %%a in ('dir /a-d/b *.txt') do (
- echo;%%a
- (for /f "tokens=1* delims=:" %%b in ('findstr /n .* "%%a"') do (
- if "%%b" equ "1" (
- for /f %%d in ("%%c") do echo;%%d
- ) else;echo;%%c
- ))>"%folder%\%%a"
- )
- echo;%info%
- pause
复制代码
作者: Batcher 时间: 2019-6-13 11:31
测试之前请做好备份- @echo off
- for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
- call :step1 "%%a"
- >>"%%a.new" more +1 "%%a"
- move /y "%%a.new" "%%a"
- )
-
- :step1
- for /f %%i in ('type "%~1"') do (
- >"%~1.new" echo,%%i
- goto :eof
- )
复制代码
作者: pwq 时间: 2019-6-13 14:07
管理员大师:您好!
您为我编辑的关于批量删除文本文件第一行第一列的批处理文件,我已收到并且进行了测试,结果令我非常满意,效果非常好。在此我再一次向您表示感谢,谢谢您。以后在这个《批处理之家》,一定好好向您学习,提高自己的技术水平,为社会作贡献。来日方长,谢谢您。
作者: pwq 时间: 2019-6-14 10:27
管理员大师:您好!
您为我编辑的关于批量删除文本文件第一行第一列的批处理文件,我已收到并且进行了实际操作,结果令我非常满意,效果非常好。但在批处理运行的显示中显示了一条错误信息:系统找不到指定的路径。我觉得很奇怪,批处理运行的结果是正常的。本来我对于这条错误信息可以置之不理,但我本着学习提高的目的,对它进行了编辑修改,但由于我实在太嫩了,履遭挫折,今特向大师求救,望大师指点。谢谢您了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |