vbs复制并重命名文件

vbs copy and rename file

我正在尝试在 VBScript 中创建一个 sub 来移动副本文件。我已经尝试了在这里以及其他一些网站上找到的几种不同方法。我有以下工作。

dim SEVO_XML_PATH 'File path to Sevo xml file
dim SEVO_BACKUP 'File path for sevo's backup location
SEVO_XML_PATH="xml\Database.xml"
SEVO_BACKUP="backup\"   

sub BackupSevo()
    If FSO.fileExists(SEVO_XML_PATH)=true then
        FSO.copyFile SEVO_XML_PATH, SEVO_BACKUP
    else
        msgbox("Sevo XML not found." & vbnewline & "Please contact Engineering.")
    end if
end sub

但是我想将日期附加到文件名的末尾。当我添加要粘贴的文件的名称时,如 so...

backupName = "Database_" & date & ".xml"
FSO.copyFile SEVO_XML_PATH, SEVO_BACKUP & backupName

这给我一个“找不到路径”的错误。我试过复制文件然后使用 moveFile 重命名它,但我得到了同样的错误。

FSO.copyFile SEVO_XML_PATH, SEVO_BACKUP
dim backupName
backupName = "Database_" & date & ".xml"
FSO.moveFile SEVO_BACKUP & "Database.xml", SEVO_BACKUP & backupName

我尝试了一种我发现的方法 here 创建一个对象来保存文件,然后使用名称 属性 更改名称。

set sevoXML=FSO.getFile(SEVO_XML_PATH)
sevoXML.copy SEVO_BACKUP
set sevoXMLBackup=FSO.getFile(SEVO_BACKUP & "Database.xml")
sevoBackup.name=backupName

但是我在最后一行收到错误“无效的过程调用或参数”。

关于修复其中一种方法或使用其他方法有什么想法吗? 谢谢

date returns 由反斜杠分隔的日期。就像 windows 中的文件夹结构一样。所以你实际上是在尝试写入文件夹:

/backup/Database_06/29/2016.xml 

而且您没有文件夹名称 Database_0629。格式化日期以将反斜杠更改为下划线或其他内容:

backupName= "Database_" & replace(date, "/", "_") & ".xml"