0

テキスト ファイルから上位 2 行を削除する Windows コマンドまたはバッチ スクリプトを提供できる人はいますか?

findstr を使用して、テキスト ファイルの最初の 2 行を削除したいと考えています。ここで説明されている「more +2 file.txt > newfile.txt」トリックを使用できません。これは、xp_cmdshell を介してこれを呼び出しているため、機能していないようです (プロセスが頻繁にハングし、永続的にロックされたファイルが作成される可能性があります)。削除しないでください)。

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 に答える