任何人都可以提供一个Windows命令或批处理脚本来删除文本文件中的前两行吗?
我想使用findstr删除文本文件的前两行。我不能使用“更多+2 file.txt> newfile.txt”技巧描述here因为我通过xp_cmdshell调用它并且似乎不起作用(进程经常挂起并永久创建)锁定文件我无法删除)。
我听说过findstr可以使用正则表达式来查找这样的东西,并且我已经看到了一些使用bat文件的尝试。我对这些可能性中的任何一种都持开放态度,但尚未找到可行的解决方案。
答案 0 :(得分: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