使用 Windows 批处理脚本从文本文件中删除前几行

用户1995565

最好是单行,我怎么能及时(最多几秒钟)从一个大(3MB+)文本文件的开头删除一系列行。我见过使用for /fwith 的解决方案findstr,但是 for 循环使它变得非常慢,并且该工具more无法在不挂起的情况下处理更大的文件。

@echo off &setlocal
set "testing.txt=%~1"
(for /f "delims=" %%i in ('findstr /n "^" "testing.txt"') do (
    set "line=%%i"
    for /f "delims=:" %%a in ("%%i") do set "row=%%a"
    setlocal enabledelayedexpansion
    set "line=!line:*:=!"
    if !row! gtr 100 echo(!line!
    endlocal
))>output.txt

这是一个尝试。这是令人难以置信的缓慢。任何建议将不胜感激。

行动

这是消除大文件中第一行的最快方法按照您的要求写为单行:

@echo off
< testing.txt ( (for /L %%i in (1,1,100) do set /P "=") & findstr "^" ) > output.txt

但是,请注意,此方法只能管理长达 1023 个字符的行,因为它使用set /P命令来读取和丢弃不需要的行...

有关此方法的说明,请参阅此答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按照使用 Windows 批处理脚本显示的顺序从文本文件中读取行?

使用 Windows 批处理文件删除/替换文本文件字符串

如何使用Windows批处理文件从文本文件中的文件列表中递归复制文件?

在批处理脚本中使用命令行(Windows)连接两个文本文件

使用批处理脚本删除文本文件中的所有匹配项

如何使用Windows Batch从文本文件中修剪/删除前/左空格?

如何使用Windows批处理文件解析包含本地变量的文本文件中的字符串?

如何使用Windows批处理文件循环浏览文本文件中的每一行?

如何使用Windows批处理文件拆分文本文件元素?

从Windows批处理脚本的文本文件中删除总是以'TRAILER'开头的最后一行

如何使用批处理文件有选择地删除文本文件中的文本?

使用批处理脚本,在文本文件中每行的特定列处写入文本

如何使用批处理脚本跳过注释行以从文本文件中读取

如何使用批处理命令从文本文件中删除CRLF和换行

如何使用批处理或PowerShell从文本文件中删除换行符

使用批处理从文本文件中删除最后一行(包括空行)

使用Windows批处理脚本删除可写文件

使用sed从Windows中的文本文件中删除第一行

如何使用批处理脚本删除Windows 7中许多文件的文件名的某些部分?

使用批处理脚本仅打开文件夹中的非零文本文件

如何逐行读取批处理文件中多余字符的文本文件?允许限制行长。(Windows,批处理脚本)

Windows批处理脚本来比较两个文本文件

使用Windows批处理脚本在CSV文件中添加列

如何使用批处理脚本从JSON文件获取数据并将数据写入文本文件?

如何使用批处理,Jscript(JREPL?)或vBScript从文本文件(图像列表)中删除相似的行?

批处理:使用文件路径从文本文件末尾删除换行符

如何在Windows批处理文件中嵌入文本文件

使用批处理脚本每分钟将时间写入文本文件

如何使用批处理脚本增加文本文件名