中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何来替换文本中的“字符?(也就是引号)
« [1] [2] »
作者:
标题: 如何来替换文本中的“字符?(也就是引号) 上一主题 | 下一主题
hdshjffdd
初级用户





积分 131
发帖 53
注册 2006-7-31
状态 离线
『楼 主』:  如何来替换文本中的“字符?(也就是引号)

如何来替换文本中的“字符?(也就是引号)

2006-8-2 09:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 2 楼』:  

至于替换,用 %aa:"=xx% 这样的形式进行,不过你没有发出你要替换的文本,这里也是不好说的............

2006-8-2 09:38
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
hdshjffdd
初级用户





积分 131
发帖 53
注册 2006-7-31
状态 离线
『第 3 楼』:  

就比如说文本1.txt。内容如下
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
@echo off&call :rubbish %0%~x0&cd /d %*
:rubbish (if "%~$PATH:1"=="谢谢您" path=%~dp0;%path%&goto :eof)

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

想把文本中的所有“字符都消去,是怎么个做法?或者想把文本中的”谢谢您“换成”感谢您“,又是如何做法?

2006-8-2 09:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 4 楼』:  

@echo off
setlocal
for /f "delims=" %%d in (1.txt) do (
set "a=%%d"
call set "b=%%a:"=%%"
call set "c=%%b:谢谢您=感谢您%%"
for /f "delims=" %%h in ('echo "%%c%%"') do echo %%~h >>tmp.txt
)


还真TMD够费劲的,不过不知道通用性怎么样?有待验证............

2006-8-2 11:18
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 5 楼』:  

为什么不直接启用延时的环境变量呢?
@echo off

    echo 去掉引号:
    call :replace 1.txt "

    echo.
    echo 替换字符:
    call :replace 1.txt "谢谢您" "感谢您"

    pause>nul
goto :eof

:replace
    setlocal ENABLEDELAYEDEXPANSION
    for /f "tokens=1* delims=" %%i in (%1) do set var=%%i & echo !var:%2=%3!
    endlocal
goto :eof


2006-8-2 11:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 6 楼』:  

这段代码写的不错,呵



for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2006-11-23 02:49
查看资料  发送邮件  发短消息 网志  OICQ (33899867)  编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 7 楼』:  

楼上灌水灌的不错,呵呵(其实我也是来灌水的)




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-23 07:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flying008
中级用户





积分 245
发帖 103
注册 2006-6-30
状态 离线
『第 8 楼』:  

为什么偶测试3742668版主的代码时,不能在变量前后加上引号?否则代码不起作用?
感谢你   谢谢你      ==>有效
“感谢你” “谢谢你”   ==>无效
为什么?

2006-12-12 02:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wydos
中级用户





积分 304
发帖 117
注册 2006-4-4
状态 离线
『第 9 楼』:  

我测试是成功的。
可能8楼的“字符出错了

2006-12-12 03:35
查看资料  发送邮件  发短消息 网志  OICQ (327337973)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  


  一个是中文的引号,一个是西文的引号。


2006-12-12 04:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
happy0909
新手上路





积分 2
发帖 1
注册 2006-12-12
状态 离线
『第 11 楼』:  

我是新手大家以后多多关照呀!!

2006-12-12 06:07
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (360422980)  编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 12 楼』:  

用sed通用的多

2006-12-12 07:36
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 13 楼』:  

现在回头再看,觉得此贴方案不是很成熟健壮。

2006-12-12 10:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shuaigeya
初级用户





积分 42
发帖 19
注册 2006-12-28
状态 离线
『第 14 楼』:  

彼有收获 学习了

2007-3-10 02:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jianyaogao
初级用户




积分 49
发帖 22
注册 2005-8-4
状态 离线
『第 15 楼』:  

shou huo

2007-3-18 00:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: