Board logo

标题: [文本处理] BAT脚本for语句处理文本 [打印本页]

作者: newswan    时间: 2021-8-24 21:05     标题: BAT脚本for语句处理文本

for语句有个特性,会删除空行
如果分隔符包含全空格的行,也会被删除
作者: Batcher    时间: 2021-8-24 22:02

回复 1# newswan


这样可以吗:
http://bbs.bathome.net/thread-4580-1-1.html
作者: newswan    时间: 2021-8-24 23:19

本帖最后由 newswan 于 2021-8-25 01:05 编辑

增加复杂性了,sed 方便些,但是 findstr 是ms亲生的
作者: qixiaobin0715    时间: 2021-8-25 06:47

本帖最后由 qixiaobin0715 于 2021-8-25 06:48 编辑

客观地讲,不要总是纠结在批处理有很多缺陷上,实际上就文本处理来说有很多种途径:
批处理;
第3方(批处理调用);
powershell;
文本编辑器直接处理;
。。。


斑竹链接上的方法可以灵活运用,如果不牵涉其它特殊情况而只是空行的话,不用那么麻烦来回进出变量延迟,这样即可:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('findstr /n .* test.txt') do (
  4.         set "var=%%i"
  5.         echo,!var:*:=!
  6. )
  7. pause
复制代码





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