广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    批处理怎样读取某文本的第N行

    来源:网络收集  点击:  时间:2024-07-02
    【导读】:
    批处理怎样读取某文本的第N行?批处理读取文本文件指定行的方法!有时,在进行批处理编程时,我们需要读取文本文件的指定行,该如何编写代码呢?下面,小编通过一个示例来给大家演示一下批处理读取文本文件指定行的编写方法。工具/原料morewindows系统一个文本文件方法/步骤1/8分步阅读

    准备演示环境

    首先,我们准备一个文本文件,可以是任意内容,我们这里准备的是tmp.txt,它的内容如下图所示,我们准备的文本文件内容有编号,这个其实不是必须的,仅是为了便于观看。

    2/8

    编写空批处理文件

    大家可以通过打开记事本,点击菜单“文件”——“保存”,然后将文件保存为.bat格式的方式来建立批处理文件。那样操作大家可能会遇到一些错误,所以,这里我们使用命令echo来创建,可以避免一些不必要的错误。如下图所示,创建后利用notepad打开批处理进行编辑 。

    3/8

    开始编写批处理代码

    首先,要获取文本文件内容,大家就必须知道“for”命令的使用方法,for命令在批处理中,功能非常重大,它可以对一组文件进行编历,遂一读取文件内容的每一行。

    4/8

    如我们利用以一下代码(在命令行窗口中):for/f tokens=* %i in (tmp.txt) do echo %i

    就可以逐一读取tmp.txt的文件内容,并显示出来。

    需要注意的是:命令中的文本文件需包括正确的路径,以确保for命令能够正确找到它的位置,因为它们都在同一目录中,所以不需书写完整路径,如果不是在同一目录中,最好将文本文件的完整路径写出来。

    5/8

    知道for命令的用法后,好像要编写获取文件中指定行文件内容的代码并不困难,那么我们来试验一下。首先,将上面的代码写入批处理,需要注意的是在批处理中,变量的“%”要写成“%%”。

    6/8

    要获取指定行的代码,那么我们还需要设置一个变量row来得到当前行的行数,for命令没有提供现存的,那我们只能通过变量自加来实现,然后利用if语句来判断是否与指定的行数(这里以指定第3行为例)相等,相等输出该行内容,否则不输出。那么代码如下:

    7/8

    看上面的代码,好像没什么问题,但一运行,却发现没有得到预期的结果!这是怎么回事呢,我们再将if %row%==3 echo %%i修改成echo %row%,运行后,发现变量row都是0,没有自加。

    8/8

    这主要是由于批处理对变量的处理机制造成的(这里不详细介绍),需要在批处理中加入:setlocal enabledelayedexpansion,并将for语句中的%row%修改成!row!,使变量延时处理。保存运行,结果正常。

    操作系统批处理
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.ff371.cn/art_924680.html

    相关资讯

    ©2019-2020 http://www.ff371.cn/ 国ICP备20009186号06-06 08:02:18  耗时:0.810