中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 06:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如果替换掉文本中的|变成回车 查看 773 回复 4
楼 主 如果替换掉文本中的|变成回车 发表于 2009-02-04 20:52 ·  中国 上海 图像数据通信有限公司
新手上路
积分 2
发帖 2
注册 2009-02-04 00:44
17年会员
UID 137974
性别 男
状态 离线
有一段文本如下:
文件1.txt
中国|日本|美国


转换后的文件1.txt
中国
日本
美国

文件2
德国|英国

转换后的文件2.txt
德国
英国

本人新手,请高手赐教,谢谢
我关键的地方是 不知道回车在批处理里面怎么替换,可显字符还是很容易
2 搜索到的 vbs: 发表于 2009-02-04 21:30 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
set fso=CreateObject("Scripting.FileSystemObject")
set file=fso.Opentextfile("文件1.txt")
set fileN=fso.Createtextfile("转换后的文件1.txt")
str=file.readall
strN=replace(str,"|",chr(10))
fileN.write strN
fileN.close
3 发表于 2009-02-04 21:39 ·  中国 上海 图像数据通信有限公司
新手上路
积分 2
发帖 2
注册 2009-02-04 00:44
17年会员
UID 137974
性别 男
状态 离线
非常感谢,测试通过,原先一直在想用bat批处理的变量替换...
4 发表于 2009-02-04 22:45 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
如果用FR的话 :

fr *.txt -ric:"\|" -t:"\r\n"

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
5 发表于 2009-02-04 22:49 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
::如果只有5个"|",可以这样,更多的话,多执行几次就可以了。
::只是会丢掉原来的空行,连续两个或多个“|”时也不会有空行。

@echo off
for /f "tokens=1-5,* delims=|" %%a in ('type 1.txt^&cd.^>1.txt^') do (
(if not '%%a==' echo.%%a
if not '%%b==' echo.%%b
if not '%%c==' echo.%%c
if not '%%d==' echo.%%d
if not '%%e==' echo.%%e
if not '%%f==' echo.%%f)>>1.txt
)
精简
=> 个人网志
论坛跳转: