中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 09:38
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » MORE能不能得把文件前N行内容重定向? 查看 743 回复 2
楼 主 MORE能不能得把文件前N行内容重定向? 发表于 2008-04-29 01:03 ·  中国 河南 郑州 联通
初级用户
★★
积分 161
发帖 56
注册 2007-10-01 00:42
18年会员
UID 98672
性别 男
状态 离线
我只能重定向后N行内容!

@echo off
set/p n=去掉文本的前N行数:
more +%n% %0>tem.txt
start notepad %0
start tem.txt
pause
del tem.txt
2 发表于 2008-04-29 01:09 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
如楼主是问more能不能,回答是做不到,但要删除本身n行后的内容还是容易的。
批处理之家新域名:www.bathome.net
3 发表于 2008-04-29 09:01 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
@echo off
::支持空行wangwei070918qq251485609
:cxsr
cls
@echo.
SET /P gwjm=请将文件拉入本窗口:
if exist %gwjm% goto zx
@goto cxsr
:zx
@echo.
::检查文件总行数
for /f "tokens=3 delims= " %%i in ('find /v /c "" %gwjm%') do set m=%%i
SET /P YGJ= 需要从头保留多少行:
set /a ys=%YGJ%+1>nul
cd.>2.txt
for /f "delims=" %%i in ('findstr /n .* %gwjm%') do (
set /a sw=%%i 2>nul
set "v=%%i"
setlocal enabledelayedexpansion
set "v=!v:*:=!"
if !sw! EQU !ys! goto :tc
echo.!v!>>2.txt
endlocal
)
:tc

[ Last edited by ZJHJ on 2008-4-29 at 09:27 AM ]
论坛跳转: