中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 22:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何将文本文件中的|替换为[TAB] 查看 838 回复 5
楼 主 [求助]如何将文本文件中的|替换为[TAB] 发表于 2007-09-21 10:49 ·  中国 山东 青岛 电信
新手上路
积分 8
发帖 3
注册 2007-09-20 18:39
18年会员
UID 97900
性别 男
状态 离线
我想把文本中的|转换成TAB
应该怎么写呢?
@echo off
for /f "delims=" %%a in (d:\测试1.txt) do (
setlocal enabledelayedexpansion
set "str=%%a"
set "str=!str: = !"
set "str=!str: =|!"
echo !str!
echo !str!>>d:\测试2.txt
endlocal
)
这个代码可以把空格,TAB都转换成|,也可以TAB和空格之间替换,但是为什么当文本中是|不能转换成TAB和空格呢?请高手指教

[ Last edited by lxmxn on 2007-9-21 at 12:01 PM ]
2 发表于 2007-09-21 11:56 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
。。

[ Last edited by wudixin96 on 2007-9-21 at 01:33 PM ]
3 发表于 2007-09-21 11:59 ·  中国 山东 青岛 电信
新手上路
积分 8
发帖 3
注册 2007-09-20 18:39
18年会员
UID 97900
性别 男
状态 离线
怎么做呢?
4 发表于 2007-09-21 13:15 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
为啥不行?
@echo off&copy nul D:\测试2.txt >nul
for /f "delims=" %%a in (D:\测试1.txt) do (
setlocal enabledelayedexpansion
set "str=%%a"
rem set "str=!str: = !"
set "str=!str:|= !"
echo !str!
echo !str!>>D:\测试2.txt
endlocal
)
5 发表于 2007-09-21 13:33 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
哈哈,发现原来set "str=!str:|= !"这行如果不加引号,就会出错。

难怪偶怎么写都出错呢
6 发表于 2007-09-21 14:50 ·  中国 山东 青岛 电信
新手上路
积分 8
发帖 3
注册 2007-09-20 18:39
18年会员
UID 97900
性别 男
状态 离线
太感谢你们了
论坛跳转: