中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 09:27
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 还是关于替换为|的问题。。。。(版主请进)
可打印版本  992 / 6
第1楼 98800 发表于 2008-08-08 13:23
初级用户 发帖 7 积分 20
还是关于替换为|的问题。。。。(版主请进)
"aaa","ccc","",,,,"aaa","",,,,
替换成:
aaa|ccc|||||aaa|||||
如何用批处理来做啊?
版主曾给我写出:
@echo off & setlocal

for /f "delims==" %%i in (IND_INFO.txt) do (
for %%k in (%%i) do for %%c in (%%~k) do set/p a=%%c^|<nul
echo.
)>>aa.txt
这样的语句来做,但这句话把N个并排的逗号,都替换成1个| ....
请帮忙解决一下 ,谢谢!
第2楼 huahua0919 发表于 2008-08-08 14:05
银牌会员 发帖 780 积分 1,608
@echo off
set a="aaa","ccc","",,,,"aaa","",,,,
set a=%a:,=^|%
setlocal enabledelayedexpansion
echo !a:^"=!
endlocal
pause
第3楼 98800 发表于 2008-08-08 14:07
初级用户 发帖 7 积分 20
Originally posted by huahua0919 at 2008-8-8 02:05 PM:
@echo off
set a="aaa","ccc","",,,,"aaa","",,,,
set a=%a:,=^|%
setlocal enabledelayedexpansion
echo !a:^"=!
endlocal
pause


这个表里面很多字段呢。而且替换出来一个新的文本。。。。

你这样写,我不知道怎么替换整个表啊。。。。。。。。。。
第4楼 huahua0919 发表于 2008-08-08 14:12
银牌会员 发帖 780 积分 1,608
你这样说我不知道怎么写
第5楼 flyinspace 发表于 2008-08-08 14:20
银牌会员 发帖 517 积分 1,206
哦。你是要这样?不过我保留了 "
@echo off & setlocal EnabledelayedExpansion

set a="a","b",,"cc",,,"ddd",,,,

for /l %%i in (0,1,1024) do (

set "c=!a:~%%i,1!"
if "!c!"=="" goto :output
echo !c!
if "!c!"=="," (
set b=!b!^|
) else (
set "b=!b!!c!"
)
)
:output
echo !b!

pause
第6楼 98800 发表于 2008-08-08 15:53
初级用户 发帖 7 积分 20
Originally posted by huahua0919 at 2008-8-8 02:12 PM:
你这样说我不知道怎么写


那比如说我更新a.txt 里面的字段。。。。如何更新啊 ?????????????
第7楼 terse 发表于 2008-08-09 00:53
银牌会员 发帖 946 积分 2,404
不行吗?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023