Подтвердить что ты не робот

Проблема с методом MoveFile для перезаписи файла в Destination в vbscript?

У меня есть vbscript, который я написал для перемещения файлов из исходного каталога в целевой каталог. Способ, которым работает script, заключается в том, что у меня есть файл сопоставления, который читается (сопоставляет идентификатор с типом папки). Каждый перемещаемый файл начинается с идентификатора, и пункт назначения будет основываться на том, на что сопоставляется идентификатор. Я читаю в файле сопоставления и создаю путь назначения для каждого перемещаемого файла. Все работает так, как ожидалось, проблема в том, что когда я пытаюсь переместить файл, который уже существует в целевом каталоге, файлы не перемещаются из исходного каталога. По сути, я бы хотел, чтобы он перезаписывал файл в каталоге назначения, если он уже существует. На данный момент моя основная команда такова:

fso.MoveFile ObjFile.Path, archiveTo & "\" & yearValue & "\" & monthValue & "\" & ObjFile.Name

Есть ли способ по умолчанию, чтобы всегда перезаписывать файл в каталоге отправления, если он уже существует?

4b9b3361

Ответ 1

К сожалению, метод VBScript MoveFile работает только тогда, когда целевой файл не существует. Он не может перезаписывать такой файл, когда существует, просто выкидывает ошибку.

Итак, единственный вариант - использовать CopyFile (у которого есть опция для перезаписи), затем DeleteFile:

fso.CopyFile ObjFile.Path, archiveTo & "\" & yearValue & "\" & monthValue & "\" & ObjFile.Name, True
fso.DeleteFile ObjFile.Path