批处理 提取从第3行到第9行

来源:百度知道 编辑:UC知道 时间:2024/05/18 16:12:14
这个批处理文件可以放到任何目录下执行,运行后,会将该目录下所有文本文件的第3行到第9行(包括第3行和第9行)之间的内容提取到一个新文档,这个以“sub”命名的新文档就在当前目录下创建。

@echo off
setlocal enabledelayedexpansion
if exist sub.txt del sub.txt
echo 正在处理文件请稍候...
for /f "delims=" %%i in ('dir /b *.txt') do (
call :sub %%i
)
start sub.txt
:sub
set n=3
for /f "skip=2 delims=" %%j in (%1) do (
echo %%j>>sub.txt
set /a n+=1
if !n!==10 goto :eof
)
goto :eof

UNIX下做这样的批处理就非常简单,可以使用tail和head命令来完成,在DOS下没有这样的命令可以使用,除非自己用C或者PERL等语言写一个控制台的tail\head工具。

语句写个这样的工具,不如直接就写出这样的小程序。

总之,我认为用批处理实现比较困难,如果不是老师布置的作业,你可以选择你现有编译环境的语言,大家帮你写个这样的程序是非常简单。我推荐你使用PERL语言,因为有PERL编译为EXE的工具,而且PERL写这些是最适合的。