Vbscript 如果文件存在,则删除该文件

Vbscript 如果文件存在,则删除该文件,vbscript,filesystemobject,Vbscript,Filesystemobject,我有一个用于重命名文件的vbscript。我需要在脚本中实现的是删除“新文件”(如果它已经存在) 例如:我有一批名为11111111.dddddd.pdf的文件,这些文件被重命名为11111111.pdf。问题是,当我重命名为11111111.pdf格式时,我会使用重复的文件结束,然后使脚本失败,因为显然不能有两个同名文件。我需要它重命名第一个,但删除其他重命名相同的 这里是我到目前为止对于IF语句的内容,但它不起作用,我得到一个错误,上面写着“类型不匹配:'FileExists”。我不知道如何

我有一个用于重命名文件的vbscript。我需要在脚本中实现的是删除“新文件”(如果它已经存在)

例如:我有一批名为11111111.dddddd.pdf的文件,这些文件被重命名为11111111.pdf。问题是,当我重命名为11111111.pdf格式时,我会使用重复的文件结束,然后使脚本失败,因为显然不能有两个同名文件。我需要它重命名第一个,但删除其他重命名相同的

这里是我到目前为止对于IF语句的内容,但它不起作用,我得到一个错误,上面写着“类型不匹配:'FileExists”。我不知道如何让这部分代码以我想要的方式执行。如有任何帮助或建议,将不胜感激

dim infolder: set infolder = fso.GetFolder(IN_PATH)
dim file
for each file in infolder.files

dim name: name = file.name
dim parts: parts = split(name, ".")
dim acct_, date_
acct_ = parts(0)
date_ = parts(1)


' file format of a.c.pdf
if UBound(parts) = 2 then
    ' rebuild the name with the 0th and 2nd elements
    dim newname: newname = acct_ & "." & parts(2)
    ' use the move() method to effect the rename
    file.move fso.buildpath(OUT_PATH, newname)  

    if  newname = FileExists(file.name) Then            
    newname.DeleteFile()
    end if   
end if

next 'file
fileExists()
FileSystemObject
的方法,而不是全局作用域函数

您还遇到了删除问题,
DeleteFile()
也是
FileSystemObject
的一种方法

此外,您似乎正在移动文件,然后试图处理覆盖问题,这是不正常的。首先,必须检测名称冲突,以便可以选择重命名文件或先删除冲突。我假设出于某种原因,您希望不断删除新文件,直到找到最后一个文件,这似乎暗示了您的问题

因此,您可以使用块:

if NOT fso.FileExists(newname) Then  

    file.move fso.buildpath(OUT_PATH, newname)           

else

    fso.DeleteFile newname
    file.move fso.buildpath(OUT_PATH, newname)  

end if 

还要注意,字符串与
=
符号的比较区分大小写。使用
strCmp
vbText
compare选项进行不区分大小写的字符串比较。

如果已接近,只需删除文件,然后再尝试重写即可

dim infolder:set infolder=fso.GetFolder(在路径中)
dim文件:用于infolder.Files中的每个文件
dim名称:name=file.name
尺寸标注零件:零件=拆分(名称“.”)
如果UBound(部件)=2,则
'类似于a.c.pdf的文件名
dim newname:newname=零件(0)&“.”和零件(2)
dim newpath:newpath=fso.BuildPath(OUT\u PATH,newname)
"警告:
'如果我们有源文件C:\IN_PATH\ABC.01.PDF,C:\IN_PATH\ABC.02.PDF。。。
'其中只有一个将另存为D:\OUT\u PATH\ABC.PDF
如果存在fso.files(newpath),则
fso.DeleteFile新路径
如果结束
文件。移动新路径
如果结束
下一个

Salman A-我知道它必须是简单的。我对这件事感到非常激动,而且没有直接思考。工作起来很有魅力。非常感谢。谢谢您的回复。我也测试了这个,它很有效。
IF both POS_History_bim_data_*.zip and POS_History_bim_data_*.zip.trg exists in  Y:\ExternalData\RSIDest\ Folder then Delete File Y:\ExternalData\RSIDest\Target_slpos_unzip_done.dat