哪位朋友帮我写2个批处理,可以批量处理TXT文本内容。 1.可以指定删除第几行 2.可以删除包含关键字那一行
第一个批处理就是删除其中一行而不是前几行。第二个批处理比如我要删除带类型:的这一样那就是第四行被删除我要批量处理很多个TXT...
第一个批处理就是删除其中一行而不是前几行。
第二个批处理比如我要删除带 类型:的这一样 那就是第四行被删除
我要批量处理很多个TXT 展开
第二个批处理比如我要删除带 类型:的这一样 那就是第四行被删除
我要批量处理很多个TXT 展开
展开全部
两种合写一块吧,下面代码以第一种为例,如需要第2种,把第三行前的::去掉并加到第2行前面 (::放行首是注释作用)
批处理文件放要处理的文件夹内执行,会处理所有txt文件并包括子文件夹,如果把第5行的for /r 去掉/r 则不处理子文件夹
@echo off
set/a n=6
:: set "s=类型"
if defined n (set f=n)else set f=s
for /r %%i in (*.txt)do echo.%%i&call :y%f% "%%~i"
pause
goto :eof
:yn
(for /f "tokens=1* delims=:" %%a in ('findstr/n .* %1')do (
if not "%n%"=="%%a" echo.%%b
))>temp.yky
move temp.yky %1
goto :eof
:ys
type %1|find /v "%s%">temp.yky
move temp.yky %1
goto :eof
批处理文件放要处理的文件夹内执行,会处理所有txt文件并包括子文件夹,如果把第5行的for /r 去掉/r 则不处理子文件夹
@echo off
set/a n=6
:: set "s=类型"
if defined n (set f=n)else set f=s
for /r %%i in (*.txt)do echo.%%i&call :y%f% "%%~i"
pause
goto :eof
:yn
(for /f "tokens=1* delims=:" %%a in ('findstr/n .* %1')do (
if not "%n%"=="%%a" echo.%%b
))>temp.yky
move temp.yky %1
goto :eof
:ys
type %1|find /v "%s%">temp.yky
move temp.yky %1
goto :eof
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询