Board logo

标题: [文件操作] 批处理如何获取/提取文本中的指定行? [打印本页]

作者: 希望的寄托    时间: 2008-2-4 09:43     标题: 批处理如何获取/提取文本中的指定行?

本帖最后由 pcl_test 于 2016-9-4 11:55 编辑

我前些天用代理想从文本中取得某一行的值,结果取出的却是从那一行开始,以下的所有行的值,请问一下版主及各位朋友,有谁知道怎样才能取指定行,并且指定行是在文本中间,不是指文本的尾部
作者: novaa    时间: 2008-2-4 11:52

可以用findstr /n  然后用if判断行号。是行号就取值。因为findstr /n会自动得给出行得编号。
作者: 随风    时间: 2008-2-4 12:18

不忽略文本中的空行
  1. @echo off
  2. for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
  3.    if "%%a"=="5" echo %%b
  4. )
  5. pause
复制代码
忽略文本中的空行
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (a.txt) do (
  4.   set /a falg+=1
  5.   if !falg! equ 5 echo %%a
  6. )
  7. pause
复制代码

作者: 希望的寄托    时间: 2008-2-4 13:14

谢谢了.怎么我使用看不到行编号啦
作者: 希望的寄托    时间: 2008-2-4 13:16

谢谢了,看明白了,随风巡查的贴子很容易懂
作者: novaa    时间: 2008-2-4 18:14

哈哈。随风向得周到啊。!我没有想到空格的情况。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2