0

任何人都可以提供从文本文件中删除前两行的 Windows 命令或批处理脚本吗?

我想使用 findstr 删除文本文件的前两行。我不能使用这里描述的“更多 +2 file.txt > newfile.txt”技巧,因为我通过 xp_cmdshell 调用它,这似乎不起作用(进程经常挂起并创建一个我可以永久锁定的文件' t 删除)。

我听说 findstr 可以使用正则表达式来查找类似的内容,并且我看到了一些使用 bat 文件的尝试。我对这些可能性中的任何一种都持开放态度,但还没有找到可行的解决方案。

4

1 回答 1

2

试试这个:

@echo off &setlocal
set "myfile=%~1"
(for /f "delims=" %%i in ('findstr /n "^" "%myfile%"') do (
    set "line=%%i"
    for /f "delims=:" %%a in ("%%i") do set "row=%%a"
    setlocal enabledelayedexpansion
    set "line=!line:*:=!"
    if !row! gtr 2 echo(!line!
    endlocal
))>newfile
type newfile

顺便提一句。语法more

<file>newfile more +2
于 2013-06-10T21:11:55.277 回答