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

[文本处理] 【已解决】批处理删除空白行

本帖最后由 rockjean 于 2019-3-27 19:45 编辑

有如下数据:
  1. 批处理之家的大神们 都是好人 技术都过硬
  2. 批处理之家的大神们 都是好人 技术都过硬
  3. 批处理之家的大神们 都是好人 技术都过硬
  4. 批处理之家的大神们 都是好人 技术都过硬
  5. 批处理之家的大神们 都是好人 技术都过硬
  6. 批处理之家的大神们 都是好人 技术都过硬
复制代码
请问用批处理怎么把里面的空白行删掉呢?

回复 18# Batcher


    bather大神,我看到大神的个性签名网址,可以直接点击访问,我的要怎么弄,才能变成这样子呢?现在只显示网址,没有超链接。
洛克坚

TOP

没想到这么久的时间过去了,使用此方法的机会并不多,愧对答题者。
洛克坚

TOP

回复 18# Batcher


    我的文本数据是从电子表格里复制过来的,
用notepad++打开看,其实每个空行前面有个tab空白符,
用您的代码撸第一遍,tab空白符不见了,但空行还在,撸第二次就达到效果了。
所以我再加一层循环就可以了:
for /l %%a in (1,1,2) do (
您的代码
)
再次感谢Batcher大神!祝您今天愉快~

TOP

回复 17# rockjean


    把你测试用的txt和bat打包压缩传上来我试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 13# Batcher


    为什么要执行两次才可以去掉空白行?

TOP

回复 10# 523066680


    打扰了~

TOP

回复 9# xczxczxcz


    关键是不会PowerShell

TOP

回复 4# ivor


    虽然看不懂,还是感谢~

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
  3.     (for /f "tokens=*" %%b in ('type "%%a"') do (
  4.         echo,%%b
  5.     ))>"%%a.tmp"
  6.     move /y "%%a.tmp" "%%a"
  7. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d/s/b *.txt') do (
  3. (for /f "delims=" %%b in ('type "%%a"') do echo;%%b)>tmp
  4. move tmp "%%a"
  5. )
复制代码
QQ 33892006

TOP

::下载第三方sed.exe
sed -i "/^$/d" a.txt
如无特别说明,代码测试环境均为 XP SP3

TOP

回复 9# xczxczxcz

    哦,只要不用批处理,海阔天空

TOP

回复 8# 523066680

for 是有默认过滤空行的。楼主还要保存原来的文件名,数量多。写起来不如PS简单。

TOP

我记得for默认就会吞掉空行,
  1. @echo off
  2. (for /f "tokens=*" %%a in (src.txt) do echo %%a)>dst.txt
复制代码

TOP

返回列表