Board logo

标题: [文本处理] 批处理如何获取/提取/输出txt文本的最后一行? [打印本页]

作者: novaa    时间: 2007-12-16 19:41     标题: 批处理如何获取/提取/输出txt文本的最后一行?

本帖最后由 pcl_test 于 2017-1-10 10:37 编辑

o(∩_∩)o...
这下来对大家测试的。(我被别人测试了。所以拿来测试大家)
(*^__^*) 嘻嘻……
请大家不要问什么问题。我的问题就是提取文档的最好一行
要看的是哪个的代码更周全。
作者: foxJL    时间: 2007-12-16 20:16

  1. @echo off
  2. for /f "delims=" %%i in (1.txt) do (set a=%%i)
  3. echo %a%
  4. pause
复制代码

[ 本帖最后由 foxJL 于 2007-12-16 20:23 编辑 ]
作者: 随风    时间: 2007-12-16 20:18

findstr  /v "$" a.txt
作者: novaa    时间: 2007-12-16 21:32

如果是空行呢?
如果别人是要查看日志,应该忽略结尾的空行呢?
哈哈
都没有考虑到。
是我没有说清除。但是我看的时候提问题的人也是这样提的。而 windows的脚本专家考虑到了这种情况
考虑问题复杂化····
作者: foxJL    时间: 2007-12-16 21:39

如果要空行就用随风老兄的,如果不要空行就用我的也行呀.呵呵..
作者: 随风    时间: 2007-12-16 22:23

看你一楼的提问就知道你是在用空行跟我们捉迷藏,问题是谁说空行不是一行啊.
只要是最后一行就行,管它空不空行,若我们忽略了空行,你又要说每把空行计算进去了.

作者: xiaoxx    时间: 2008-5-3 17:52

哈哈 叫你不戴帽子.
作者: pcl_test    时间: 2016-11-19 22:47

提取最末尾的空行有毛用,怎么想都应该是提取不为空白行的最后一行
  1. powershell -c "[IO.File]::ReadAllText('文本.txt', [Text.Encoding]::Default) -match '.+(?=\s*$)'|out-null;$matches[0]"
  2. pause
复制代码





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