批处理删除txt文件中指定某几行?
求助,再请高手指点:我有一个目录下不少txt文件,想要删除所有txt文件中指定某几行,譬如“第2-10行”,且删除后下一行上移(即不留空行),文件名最好不变。谢谢...
求助,再请高手指点:我有一个目录下不少txt文件,想要删除所有txt文件中指定某几行,譬如“第2-10行”,且删除后下一行上移(即不留空行),文件名最好不变。谢谢
展开
2个回答
展开全部
不清楚你的实际文件,仅以问题中的说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
@echo off
rem 根据指定的行号范围删除多个txt文件里的连续多行内容
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set lines=2-10
set "newfolder=#result"
if not exist "%newfolder%" md "%newfolder%"
for /f "delims=" %%a in ('dir /a-d/b *.txt') do (
echo;"%%a"
(for /f "tokens=1,2 delims=-" %%b in ("%lines%") do (
for /f "tokens=1* delims=:" %%e in ('findstr /n .* "%%a"') do (
if %%e lss %%b echo;%%f
if %%e gtr %%c echo;%%f
)
))>"%newfolder%\%%a"
)
echo;%#% +%$%%$%/%@% %z%
pause
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询