回复 1# dingniu2 - @echo off
- @setlocal enabledelayedexpansion
-
- :main
- for /R %%i in (*.out) do call:deal %%i
- pause
- goto:eof
-
- :deal
- set /P want=<%~1.txt
- set /A want=want-1
- call:fopen %~1 temp
- del %~1
- set /A len=fopen_len-1
- for /L %%i in (0,1,%len%) do if %%i NEQ %want% echo=!temp[%%i]!>>%~1
- goto:eof
-
- :fopen
- rem %~1 为读取文件名,%~2为储存的变量名
- rem 若无%~2,使用%~n1作为储存的变量名
- set fopen_file=%~1
- if "%~2"=="" (
- set fopen_vale=%~n1
- ) else (
- set fopen_vale=%~2
- )
- set fopen_len=0
- for /F "tokens=1* delims=:" %%i in ('findstr /n .* %fopen_file%') do (
- set %fopen_vale%[!fopen_len!]=%%j
- set /A fopen_len+=1
- )
- goto:eof
复制代码 默认行号从1开始。
建议先备份,出现意外概不负责。 |