VBS脚本批量重命名文件

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:30:34
dim fso,fle,fles,fld,num
Set fso = CreateObject("Scripting.FileSystemObject")
set fld = fso.getfolder(".")
sub rename(fles)
num=0
for each fle in fles
ext=fso.GetExtensionName(fle)
ext=lcase(ext)
if ext="txt" then
num=num+1
fle.name=num&"."&ext
end if
next
end sub
rename fld.files

上面是我写的一个批量重命名文本文件的脚本,我想把当前文件夹下的文本文件按数字顺序进行重命名,比如说文件夹下有3个文本文件,重命名之后应该是1.txt 2.txt 3.txt 但实际却是1.txt 4.txt 5.txt 错在哪里,请高手指点
原因找到了,凡是通过复制得到的文件都被重命名了两次.
2 3 都是 1.txt的副本,被改了2次名,有什么办法可以解决?

我也觉得这个问题很奇怪,和操作系统有关系吗?我的系统是ghost_xp2电脑公司特别版_v7.0

??我用文件副本重命名怎么就没问题呢?

那么你应该在for each fle in fles 后面加上一句:
wscript.echo fle
看看到底遍历了哪几个文件就知道了

程序本身没有问题,你的文件夹下一定有隐藏的Txt文本文件

把资源管理器设置为显示所有文件,会显示出隐藏的3.txt和2.txt