中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 23:26
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教, 如何批量删除特定字符后的换行符?
可打印版本  1,965 / 18
第16楼 justine 发表于 2007-09-25 10:15
初级用户 发帖 9 积分 20
为什么大家的写法都是不能保存为另一文件呢?
第17楼 terse 发表于 2007-09-25 10:52
银牌会员 发帖 946 积分 2,404
Originally posted by justine at 2007-9-25 10:15:
为什么大家的写法都是不能保存为另一文件呢?

@echo off
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (aaa.txt) do (
set /a num+=1
set str=!str! %%i
if !num! equ 2 echo!str!>>bbb.txt && set num=0 & set str=
)
pause
第18楼 justine 发表于 2007-09-25 11:08
初级用户 发帖 9 积分 20
太好了, 多谢terse!

如果已经有 bbb.txt, 是否直接覆盖呢? 这个写法对 aaa.txt 文件的长度有要求吗? 我的文件比较长, 超过6万行... ...

另外, 如果希望 bat 在后台运行, 不要显示窗口, 可以吗?
第19楼 terse 发表于 2007-09-25 12:36
银牌会员 发帖 946 积分 2,404
用VBS吧
DIM objShell
set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /caa.bat", 0, TRUE)

aa.bat 内容:
@echo off
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (aaa.txt) do (
set /a num+=1
set str=!str!%%i
set str=!str: =!
if !num! equ 2 echo !str!>>bbb.txt && set num=0 & set str=
)
ren aaa.txt aaabak.txt
ren bbb.txt aaa.txt

[ Last edited by terse on 2007-9-25 at 12:54 PM ]
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023