Batch file 用前5行覆盖文件的批处理脚本

Batch file 用前5行覆盖文件的批处理脚本,batch-file,Batch File,我有一个x行的文件,我想只覆盖前5行删除其余的文件。我需要使用批处理脚本来完成此操作。在此方面的任何帮助都将不胜感激 谢谢 库马尔 如果您需要5.txt文件,请删除最后一行的rem 如果您需要5.txt文件,请删除最后一行上的rem。只要前5行中的每一行都是只要前5行中的每一行都是Ooh-我不记得以前见过这一点。当然,如果源代码的任何一行是******,那么它就会失败,并且更多的会损坏制表符。但我喜欢这个黑客@dbenham-10x。这可以用skip=4作为FOR/F的输入,以避免更多,但这会使

我有一个x行的文件,我想只覆盖前5行删除其余的文件。我需要使用批处理脚本来完成此操作。在此方面的任何帮助都将不胜感激

谢谢 库马尔

如果您需要5.txt文件,请删除最后一行的rem


如果您需要5.txt文件,请删除最后一行上的rem。

只要前5行中的每一行都是只要前5行中的每一行都是Ooh-我不记得以前见过这一点。当然,如果源代码的任何一行是******,那么它就会失败,并且更多的会损坏制表符。但我喜欢这个黑客@dbenham-10x。这可以用skip=4作为FOR/F的输入,以避免更多,但这会使代码更加冗长,我最喜欢的是它几乎是一行式的。FOR/F也会减慢速度,特别是如果您想保留空行的话。我喜欢你贴出的答案,因为它快速而简洁。我只是想指出一些小的限制。哦,我不记得以前见过这个。当然,如果源代码的任何一行是******,那么它就会失败,并且更多的会损坏制表符。但我喜欢这个黑客@dbenham-10x。这可以用skip=4作为FOR/F的输入,以避免更多,但这会使代码更加冗长,我最喜欢的是它几乎是一行式的。FOR/F也会减慢速度,特别是如果您想保留空行的话。我喜欢你贴出的答案,因为它快速而简洁。我只是想指出一些小的限制。EDIT-Oops,我忘记了关键的setlocal enabledayedexpansionedit-Added JREPL.BAT解决方案EDIT-Oops,我忘记了关键的setlocal enabledayedexpansionedit-Added JREPL.BAT解决方案
@echo off

set "file_to_process=E:\somefile.txt"

set "first_n_lines=5"

break>"%temp%\empty"&&fc "%temp%\empty" "%file_to_process%" /lb  %first_n_lines% /t |more +4 | findstr /B /E /V "*****" >5.txt


rem move /y 5.txt "%file_to_process%"
@echo off
setlocal enableDelayedExpansion
<"test.txt" >"test.txt.new" (
  for /l %%N in (1 1 5) do (
    set "ln="
    set /p "ln="
    echo(!ln!
  )
)
move /y "test.txt.new" "test.txt" >nul
jrepl "^" "" /jbegln "quit=(ln>=5)" /f test.txt /o -