file - 批处理文件删除文本文件的前 3 行

标签 file batch-file text lines

正如标题所述,我需要一个批处理文件来删除文本文件的前 3 行。

例如:

A    
B    
C    
D    
E   
F    
G

在此示例中,我需要将 A、B 和 C 与行一起删除

最佳答案

这应该做

for /f "skip=3 delims=*" %%a in (C:\file.txt) do (
echo %%a >>C:\newfile.txt    
)
xcopy C:\newfile.txt C:\file.txt /y
del C:\newfile.txt /f /q

这将重新创建删除前 3 行的文件。

为了让用户保持更新,您可以在批处理文件中以 vbscript 样式集成消息或在命令提示符中输出消息。
@echo off
echo Removing...
for /f "skip=3 delims=*" %%a in (C:\file.txt) do (
echo %%a >>C:\newfile.txt
) >nul
echo Lines removed, rebuilding file...
xcopy C:\newfile.txt C:\file.txt /y >nul
echo File rebuilt, removing temporary files
del C:\newfile.txt /f /q >nul
msg * Done!
exit >nul

希望这可以帮助。

关于file - 批处理文件删除文本文件的前 3 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11428692/

相关文章:

c - 由于 MessageBoxEx 导致程序崩溃

java - 将二维数组写入字符串,然后写入 .txt 文件 - Java

linux - 在 Linux 中每台打印机列出 100 个文件

batch-file - 批量叠加 Logo 到视频文件目录

regex - Lua文本解析、空格处理

text - 自动将文本转换为 PNG(或其他具有透明度的文件格式)?

ruby File.new `initialize' : No such file or directory

Linux : mail multiple files returned from grep

batch-file - 从批处理文件中调用EXE,而无需等待

powershell - 在 Powershell 中为批处理文件设置变量