@echo off
rem delete the last 3 row in a file!
setlocal enabledelayedexpansion
echo _MyFun_>>da.txt
for /f "delims= tokens=1,2*" %%a in ('@find /n /v "" da.txt') do set n=%%a
echo 文件的原始行数为:%n%
pause
echo 将执行删除最后三行的操作!
pause
set /a l=n-3
echo %l%
for /f "delims=" %%a in (da.txt) do (
set /a m+=1
if !m! leq !l! echo %%a>>new_a.txt
)
endlocal
pause
试一下
@echo off
cd.>test2.txt
for /f "delims=:" %%i in ('findstr /n . test.txt') do set n=%%i
set /a nm=%n% -2>nul
for /f "delims=" %%i in ('findstr /n .* test.txt') do (
set /a mn=%%i 2>nul
set "m=%%i"
setlocal enabledelayedexpansion
set "m=!m:*:=!"
if !nm! EQU !mn! goto end
echo.!m!>>test2.txt
endlocal
)
:end
pause