2016-06-29 2 views
1

Я пытаюсь создать sub в VBScript для перемещения копии файла. Я попробовал несколько разных подходов, которые я нашел здесь, а также некоторые другие сайты. У меня есть следующие работы.vbs копировать и переименовывать файл

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 

Но я получаю сообщение об ошибке «Неверный вызов или аргумент процедуры» в последней строке.

Любые идеи, связанные либо с фиксацией одного из этих методов, либо с использованием другого? Спасибо

ответ

2

date возвращает дату, отделяемую обратной косой чертой. Так же, как структура папок в окнах. Таким образом, вы на самом деле пытаетесь написать в папку:

/backup/Database_06/29/2016.xml 

И не имеют имен папок Database_06 и 29. Отформатируйте дату, чтобы изменить обратную косую черту в знак подчеркивания или что-то:

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

Ах да, большое спасибо. copyFile работает сейчас. – Dewey823

Смежные вопросы