中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 文件的文字与字母替换问题? 上一主题 | 下一主题
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『楼 主』:  文件的文字与字母替换问题?

我想对一文本文件里边有英文字母替换成我想要的字符,这个功能能实现吗?

比如:我想对字母R替换成"日",r替换成"人"等等。。。

可以让我自己控制某个字母替换成特定字符。。。

!!!!


[ Last edited by namejm on 2006-10-15 at 11:10 ]



Butterfly Kiss Blog
计算机DIY联盟论坛
2006-10-15 10:36
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 2 楼』:  

你到底要替换些什么?



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-10-15 10:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





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

用记事本嘛。要用 正则的话用UltraEdit 即可




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-10-15 10:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  只要你想把某个字母换成指定字符,在CMD下都是可行的——换成敏感字符除外。请把你要转换的具体内容帖出来。

  另外,请不要把字号弄得太大。虽然你可能很着急,但是字体太大会很占版面,给论坛的管理带来不便。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-15 10:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 5 楼』:  

我就是想把下面这段字符

  Quote:
M1QJZSHQ200D00A01e01e00WCWB00WIBC00W01H00W02901A01B01D01A01901D01901E01A02B00D00A01e01e00WDe100WIBC00W01H00W02902K01F02K01B02K02b02M01F02B00D00ALBPC11CWBIBC00W01H00W02901B01B01801D01901901801G01F01D01701F01801A01B01G01E01902B00D00AF89IIcMY6N9W00W01H00W02902e02T02Z02d02N02e02M02B00D00AF89IIcIW2Fa500W01H00W02902e02T02Z02d02N02e02M02J02S02L02B00D00ADcMCGCM1FIYD00W01H00W02902e02T02Z02e02M02c02N01N01801D01A01502H02T02R02B

相对应的换成下面文字

  Quote:
A=啊 a=阿 B=不 b=把 C=才 c=出 ……
0=a 1=o 2=e 3=u 4=i 5=u 6=v 7=l 8=b 9=y

就可以了。就这么简单...



Butterfly Kiss Blog
计算机DIY联盟论坛
2006-10-15 11:05
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 6 楼』:  

  请把你的字母转换清单列完,不列完没法写代码。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-15 11:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 7 楼』:  

那你还不如用记事本来完成



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-10-15 11:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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


  强烈建议楼主用记事本或者其它的第三方文本编辑工具完成这个任务,如果用批处理来解决的话,这样将会死很多脑细胞。
 
  望楼主三思而行。


2006-10-15 12:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 9 楼』:  

  其实用批处理来解决是可行的,并且效率也比较高。比如,用如下代码就可以实现第5楼的部分功能(因为部分替换会多次执行而导致结果不准确,所以剔除了部分替换规则):
@echo off
cd.>2.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
    set var=%%i
    set "var=!var:A=啊!"
    set "var=!var:a=阿!"
    set "var=!var:B=不!"
    set "var=!var:b=把!"
    set "var=!var:C=才!"
    set "var=!var:c=出!"
    set "var=!var:1=o!"
    set "var=!var:2=e!"
    set "var=!var:3=u!"
    set "var=!var:4=i!"
    set "var=!var:5=u!"
    set "var=!var:6=v!"
    set "var=!var:7=l!"
    set "var=!var:9=y!"
    >>2.txt echo !var!
)
start 2.txt




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-15 12:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 10 楼』:  

怎么觉得楼主这个编码象是 自创输入法的编码啊?哈哈……

[ Last edited by redtek on 2006-10-15 at 21:43 ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-15 21:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 11 楼』:  

TO redtek:
这是别人给我的一个文件,,告诉我说,只要用特定字符替换掉里边的字母数字就可以知道是什么东东了.我也没办法,,,,

TO lxmxn:
你说用记事本,如果有很多(就是说比上面的多呢.一个一个替换太烦人了.)怎么办.



Butterfly Kiss Blog
计算机DIY联盟论坛
2006-10-15 22:51
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by namejm at 2006-10-15 12:47:
  其实用批处理来解决是可行的,并且效率也比较高。比如,用如下代码就可以实现第5楼的部分功能(因为部分替换会多次执行而导致结果不准确, ...

  Quote:
@echo off
cd.>2.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
    set var=%%i
    set "var=!var:A=啊!"
    set "var=!var:a=阿!"
    set "var=!var:B=不!"
    set "var=!var:b=把!"
    set "var=!var:C=才!"
    set "var=!var:c=出!"
    set "var=!var:1=o!"
    set "var=!var:2=e!"
    set "var=!var:3=u!"
    set "var=!var:4=i!"
    set "var=!var:5=u!"
    set "var=!var:6=v!"
    set "var=!var:7=l!"
    set "var=!var:9=y!"
    >>2.txt echo !var!
)
start 2.txt


怎么用起来大小写不分...这怎么解决???

[ Last edited by zouzhxi on 2006-10-15 at 23:11 ]



Butterfly Kiss Blog
计算机DIY联盟论坛
2006-10-15 23:10
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
kingchain
初级用户





积分 133
发帖 57
注册 2006-3-15
状态 离线
『第 13 楼』:  

学习ing

2006-10-15 23:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 14 楼』:  

你的问题用 linux & unix 下的 tr 命令再合适不过了。
sed 也可以完成 tr 的命令,试试下面的代码:
sed "y/AaBbCc0123456789/啊阿不把才出aoeuiuvlby/" file.txt
sed 下载地址:http://www.student.northpark.edu/pemente/sed/gsed407x.zip



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-10-16 00:08
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 15 楼』:  

我想用批处理来实现...!!!



Butterfly Kiss Blog
计算机DIY联盟论坛
2006-10-16 01:35
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: