怎么批量删除文件夹中所有的txt文件的前31行?

2025-03-23 22:44:02
推荐回答(4个)
回答1:

@ECHO OFF
::设置要操作的文件夹路径如"d:\"及删除的前N行如31
SET TxtDir="d:\"
SET /A N=31
ECHO 开始操作,请稍后...
CD /D %TxtDir%
FOR /F "tokens=1 delims=" %%I IN ('DIR /A /B *.txt') DO ((MORE +%N% "%%I">"%%I_")&(DEL /A /F /Q "%%I")&(REN "%%I_" "%%I"))
ECHO 操作结束
PAUSE

注:运行前根据上述注释设置好文件夹名及删除行数;而且这个运行起来应该很快!

回答2:

用Replace Pioneer来实现。
1. 打开Tools->Batch Runner菜单
2. 点击Pick Files选择待处理的多个文件
3. 点击Fast Replace按钮,点击Add,在Search输入"^([^\n]*\n){31}"(不带双引号),点击ok
4. 点击Start即可。

注意提前备份。

回答3:

@echo off
setlocal enabledelayedexpansion
for %%i in (*.txt) do (
set no=0

for /f "skip=1" %%a in (%%i) do (
if !no!==1 if not "!last!"=="" echo !last!>>tmp.txt
set no=31

)
del %%i
ren tmp.txt %%i
)

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

回答4:

先选中第一个文件,然后按住Shift,再点第31个文件。就选中了前31个文件了。然后直接删除就OK了!