怎么批量删除文件夹中所有的txt文件的第一行和最后一行

2025-03-24 01:06:30
推荐回答(2个)
回答1:

@echo off
setlocal enabledelayedexpansion
for %%i in (*.txt) do (
set no=0
set last=
for /f "skip=1" %%a in (%%i) do (
if !no!==1 if not "!last!"=="" echo !last!>>tmp.txt
set no=1
set last=%%a
)
del %%i
ren tmp.txt %%i
)

条件就是,那些txt文件的名字中不要含空格。将这个批处理放到那个文件夹里面执行就可以了

回答2:

@echo off
setlocal enabledelayedexpansion
for %%a in (*.txt) do (
set n=0
for /f "skip=1 delims=" %%b in ('type "%%a"') do (
if "!n!"=="1" (echo !b!>"%%a") else echo !b!>>"%%a"
set "b=%%b" & set /a n+=1
))
pause

(放在要处理的目录下运行,若也要处理子目录,第3行for后面加上一个/r参数)
已测试,OK..~!