同一目录下多个txt批处理删除最后5行? 45
代码后请附请注解!如果是删除最后8行呢?如果是删除最后10行呢?另外,删除掉最后几行后,把同一文件夹下的所有TXT全并成一个TXT!...
代码后请附请注解!如果是删除最后8行呢?如果是删除最后10行呢?
另外,删除掉最后几行后,把同一文件夹下的所有TXT全并成一个TXT! 展开
另外,删除掉最后几行后,把同一文件夹下的所有TXT全并成一个TXT! 展开
2个回答
展开全部
1、地址需要根据实际情况修改(在这里修改 set TxtDir="D:\文档")
2、删除最后几行在这里修改,set /a n=!n!-5,后5行就是5,后四行就是4
@echo off&setlocal enabledelayedexpansionset TxtDir="D:\文档"echo 开始操作,请稍侯...cd /d %TxtDir%for /f "delims=" %%a in ('dir /a-d/b *.txt') do ( for /f "delims=" %%b in ('type "%%~a"') do set /a n+=1 set /a n=!n!-5 for /f "delims=" %%c in ('type "%%~a"') do ( if !n!==0 ( echo Processing....>nul ) else ( echo %%c>>"%%~a_New" set /a n-=1 ) ) if exist "%%~a_New" ( echo 文件:%%~a 处理完毕。 move "%%~a_New" "%%~a">nul ))echo.&echo 恭喜,所有文件处理完毕,请按任意键退出&pause>nul
2、删除最后几行在这里修改,set /a n=!n!-5,后5行就是5,后四行就是4
@echo off&setlocal enabledelayedexpansionset TxtDir="D:\文档"echo 开始操作,请稍侯...cd /d %TxtDir%for /f "delims=" %%a in ('dir /a-d/b *.txt') do ( for /f "delims=" %%b in ('type "%%~a"') do set /a n+=1 set /a n=!n!-5 for /f "delims=" %%c in ('type "%%~a"') do ( if !n!==0 ( echo Processing....>nul ) else ( echo %%c>>"%%~a_New" set /a n-=1 ) ) if exist "%%~a_New" ( echo 文件:%%~a 处理完毕。 move "%%~a_New" "%%~a">nul ))echo.&echo 恭喜,所有文件处理完毕,请按任意键退出&pause>nul
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
批处理不能以你文件夹在显示上的排序方式来删除文件,必须指定一定的条件,来删除某些文件。
合并所有TXT为一个TXT,可以用命令: copy *.txt yourtxtfile.txt 来完成。
合并所有TXT为一个TXT,可以用命令: copy *.txt yourtxtfile.txt 来完成。
更多追问追答
追答
把set /a n=2 改成 set /a n=5
但这程序执行的结果,就不知道是不是你想要的结果。或许它会删掉你本来不想删的文件。
除非你是无条件的,只管删掉前5行,而不管具体是哪些内容的文件。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询