[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] BAT脚本for语句处理文本

for语句有个特性,会删除空行
如果分隔符包含全空格的行,也会被删除

回复 1# newswan


这样可以吗:
http://bbs.bathome.net/thread-4580-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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

增加复杂性了,sed 方便些,但是 findstr 是ms亲生的

TOP

本帖最后由 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
复制代码

TOP

返回列表