[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何删除多个txt文本文件里面的最后一行内容?

本帖最后由 pcl_test 于 2016-7-23 21:58 编辑

现有N个文件夹,文件夹里面有N个文本文件,现需要把文本文件的最后一行内容去掉,请问批处理命令可以实现吗?
另,如果需要高效率处理,请问是否用sed命令会比其它命令高效么,谢谢

谢谢crlf指教

TOP

回复 12# gannh
  1. move /y "原目录\*.txt" "新目录"
复制代码

TOP

本帖最后由 CrLf 于 2014-1-25 18:10 编辑

另类解:
  1. @sort /+9999 a.txt|more +1|sort /+9999
复制代码
效率不高,胜在简单,追求效率还是建议用sed

TOP

回复 11# terse


    再次感谢terse的耐心指点! 另有个疑问,在DOS下,什么命令可以快速移动多个文本文件(大概有十多万个),谢谢!

TOP

回复 10# gannh
  1. @echo off
  2. set t1=%time%
  3. ::程序运行
  4. for /L %%i in (1,1,10000) do ver>nul
  5. set t2=%time%
  6. call :etime %t1% %t2% t
  7. echo %t%
  8. pause&exit
  9. :etime
  10. rem 所测试任务的执行时间不超过1天 // 骨瘦如柴版
  11. setlocal&set be=%~1:%~2&set cc=(%%d-%%a)*360000+(1%%e-1%%b)*6000+1%%f-1%%c&set dy=-8640000
  12. for /f "delims=: tokens=1-6" %%a in ("%be:.=%")do endlocal&set/a %3=%cc%,%3+=%dy%*("%3>>31")&exit/b
  13.    
复制代码

TOP

回复 9# DAIC


    这个是脚本代码[保存为etime.bat放在当前路径下即可]:
:etime <begin_time> <end_time> <return>
rem 所测试任务的执行时间不超过1天 // 骨瘦如柴版
setlocal&set be=%~1:%~2&set cc=(%%d-%%a)*360000+(1%%e-1%%b)*6000+1%%f-1%%c&set dy=-8640000
for /f "delims=: tokens=1-6" %%a in ("%be:.=%")do endlocal&set/a %3=%cc%,%3+=%dy%*("%3>>31")&exit/b


我将代码复制,并保存为etime.bat,并运行,得出的结果是

D:\>rem 所测试任务的执行时间不超过1天 // 骨瘦如柴版  

D:\>setlocal & set be=:  & set cc=(%d-%a)*360000+(1%e-1%b)*6000+1%f-1%c  & set dy=-8640000

D:\>for /F "delims=: tokens=1-6" %a in (":") do endlocal & set/a =(%d-%a)*360000+(1%e-1%b)*6000+1%f-1%c,+=-8640000*(">>31")  & exit/b

这是什么问题呢,属于低级错误,还是我不理解?还请指教,谢谢!

TOP

回复 8# gannh


    哪里不懂?

TOP

回复 7# DAIC


    看了一下,还是不太懂,请DAIC指教,谢谢

TOP

TOP

再请教,请问如何显示批处理命令所执行时间?谢谢!

TOP

回复 4# terse


    再次谢过terse的耐心解决,谢谢

TOP

本帖最后由 terse 于 2014-1-21 17:19 编辑

要看尾行有无回车
  1. findstr $ *.txt
复制代码
下面两个是外部 需下载
sed 加 -i 直接写文件
  1. sed "$d" "*.txt"
复制代码
  1. GAWK "{print FILENAME\":\" t ;t=$0}" *.TXT
复制代码

TOP

回复 2# terse


    请问这些命令怎么用?还请terse哥指教,谢谢啊!

TOP

本帖最后由 terse 于 2014-1-21 13:21 编辑

可以试试 findstr sed gawk ==命令
有个问题 最后行回车了怎么办

TOP

返回列表