注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» 批处理删除多个txt中的不同数字组合
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
 
1
2
返回列表
发帖
xxpinqz
发短消息
加为好友
xxpinqz
(YiFeng)
当前离线
UID
6856
帖子
491
精华
0
积分
2671
PB
2314
技术
119
捐助
0
阅读权限
70
在线时间
146 小时
注册时间
2008-11-19
最后登录
2018-7-23
中校
帖子
491
积分
2671
技术
119
捐助
0
注册时间
2008-11-19
16
楼
跳转到
»
发表于 2014-1-17 07:56
|
只看该作者
本帖最后由 xxpinqz 于 2014-1-17 08:04 编辑
回复
15#
lzyecho
大概就7楼那位的解释。
获取换行符号需要转义,所以用^加两空行来定义,你记住这写法就行了。
第一个FOR语句是为了替换你文本中的&#符号为换行符,(不过这里要注意,虽然实际上已经替换了,但是直接输出的话还是一行,所以写入到临时文件tmp)
因为你源文本中一行可能包含多组&#符号,所以在每一行替换后,多输出一行##来区分,否则写入到TMP后你看不出你源文档哪行是哪行的。
第二个for,(这里写法也可用set直接把;之前替空),然后用##这个标志来区别临时文档TMP中的哪些行需要拼接成源文本的一行(意思就是碰到##,则之前的内容全输出为一行)
至于两个echo,则因为,一个用来对set/p 换行,一个是你源文件每行之间有空一行。
你要看清楚,则删除第15行代码del tmp ,然后运行一遍后打开tmp这个文件对照看下就懂了。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!
TOP
lzyecho
发短消息
加为好友
lzyecho
当前离线
UID
64230
帖子
38
精华
0
积分
55
PB
55
技术
0
捐助
0
阅读权限
10
在线时间
27 小时
注册时间
2013-12-31
最后登录
2014-3-28
上等兵
帖子
38
积分
55
技术
0
捐助
0
注册时间
2013-12-31
17
楼
发表于 2014-1-17 12:43
|
只看该作者
回复
16#
xxpinqz
这就明白了,得多看,多揣摩体会。再谢xxpinqz的更细致解说。
TOP
 
1
2
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]