中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 02:05
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » (错误)vbs strreverse 颠倒文件名提示文件已存在
可打印版本  635 / 6
第1楼 huzixuan 发表于 2007-06-17 14:59
高级用户 发帖 219 积分 537 来自 芜湖
(错误)vbs strreverse 颠倒文件名提示文件已存在
用以下代码来将当前目录的文件做颠倒文件名的动作,成功了.
但会提示文件已存在?哪里存在?何解??

第2楼 slore 发表于 2007-06-17 15:31
铂金会员 发帖 2,478 积分 5,212
Set ws = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.getfolder(ws.CurrentDirectory)
For Each file In folder.files
If file.name <> wscript.scriptname Then
NewName = Mid(file.name,1,InstrRev(file.name,".") - 1)
file.name = StrReverse(NewName) & "." & fso.getextensionname(file)
End If
Next

Set folder = Nothing
Set fso = Nothing
Set ws = Nothing
第3楼 huzixuan 发表于 2007-06-17 15:42
高级用户 发帖 219 积分 537 来自 芜湖
slore兄
能给指点一下顶楼代码错误出现的地方吗..
第4楼 slore 发表于 2007-06-17 15:53
铂金会员 发帖 2,478 积分 5,212
我这里没有显示错误
第5楼 huzixuan 发表于 2007-06-17 16:03
高级用户 发帖 219 积分 537 来自 芜湖
饿,晕呢.
谢过 自己再测试去
第6楼 3742668 发表于 2007-06-17 16:16
荣誉版主 发帖 718 积分 2,013
1.对于file对象的概念了解比较模糊。
set file=fso.getfile(file)这句完全多余。
2.如果当前目录存在“单个字符”+“扩展名”或两个文件名刚好相反的情况则回出错。例如存在"a.txt"或者同时存在"abc.txt"和"cba.txt"的情况。对于第一种情况,如果不想自己做判断的话可以尝试用file的move方法来实现。
第7楼 huzixuan 发表于 2007-06-18 17:54
高级用户 发帖 219 积分 537 来自 芜湖
多谢 3742668 荣誉版主
知道了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023