最好是单行,我怎么能及时(最多几秒钟)从一个大(3MB+)文本文件的开头删除一系列行。我见过使用for /f
with 的解决方案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] 删除。
我来说两句