中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 12:13
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批量全角转半角
可打印版本  1,542 / 3
第1楼 flyboy612 发表于 2007-06-24 21:23
新手上路 发帖 6 积分 15
[求助]批量全角转半角
以前收藏一个全角转半角的VBS脚本,但是不能批量操作,发上来,请高手修改下,使之能对整个目录下的文本文档进行操作。谢谢!要是同时能在Emeditor中调用就更好了。

-------------------------------------------------------------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile("原文件.txt",1)
Set objOut = objFSO.CreateTextFile("目的文件OK.TXT",True)

Do Until objFile.AtEndOfStream
text = objFile.Read(1)
if text <> "" then
CALL convertstr(text)
end if
objOut.Write(strCharacters)
Loop

function convertstr(content)
Dim SBC,halfSBC,DBC,halfDBC,QJnum,BJnum

SBC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ'"
halfSBC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ'"
DBC = "abcdefghijklmnopqrstuvwxyz"
halfDBC = "abcdefghijklmnopqrstuvwxyz"
QJnum="0123456789"
BJnum="0123456789"

Dim S(27),hS(27),D(26),hD(26),Qnum(27),Bnum(27)

for i = 1 to 27
S(i-1) = mid(SBC,i,1)
hS(i-1) = mid(halfSBC,i,1)

content = replace(content,S(i-1),hS(i-1))

D(i-1) = mid(DBC,i,1)
hD(i-1) = mid(halfDBC,i,1)

content = replace(content,D(i-1),hD(i-1))

Qnum(i-1) = mid(QJnum,i,1)
Bnum(i-1) = mid(BJnum,i,1)

content = replace(content,Qnum(i-1),Bnum(i-1))

next

content = replace(content,chr(13)&chr(10),"<br>")
content = replace(content," "," ")
contentstr = content

objOut.write ("")
objOut.write(contentstr)
end function
-------------------------------------------------------------------------------------------------

[ Last edited by bjsh on 2007-7-31 at 11:16 AM ]
第2楼 jmz573515 发表于 2007-06-26 08:44
银牌会员 发帖 464 积分 1,212
'只对当前目录有效
第3楼 slore 发表于 2007-06-26 12:16
铂金会员 发帖 2,478 积分 5,212
()《》好象还少符号了……

¥还有省略号什么的……
第4楼 3742668 发表于 2007-06-26 13:25
荣誉版主 发帖 718 积分 2,013
也来一个,只做演示用,利用相同的思路可以写出比较完善的脚本。
同样只针对根目录,对子目录无效,不过稍做修改就可以支持子目录,以前有过多次讨论,为了简化脚本,这里就略过了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023