VBScript, который перемещает измененные файлы в другую папку
По сути, мне нужен скрипт для перемещения файлов в другую папку, которые были доступны и изменены.
Я новичок в написании сценариев, так что это может быть простой проблемой, но я в тупике. Вот ошибка, которую я получаю:
Скрипт: C:\Users\bmcwilliams\Desktop\pssitest.vbs
Линия: 17
Char: 10
Ошибка: файл уже существует
Код: 800A003A
Источник: ошибка во время выполнения Microsoft VBScript
Папка назначения пуста, поэтому я не уверен, что происходит.
Ниже приведен код, который у меня есть. Это модифицировано из кода, указанного в этом посте:
Как переместить файлы из одного каталога в другой в зависимости от размера файла
' use a default source path
dim sourcepath: sourcepath = "C:\users\bmcwilliams\Desktop\TestUncompleted"
' use a default destination path
dim destinationpath: destinationpath = "C:\users\bmcwilliams\Desktop\TestCompleted"
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim sourcefolder: set sourcefolder = fso.GetFolder(sourcepath)
' loop through each file in the directory, compare size property against
' the limit and copy as appropriate
dim file, count: count = 0
for each file in sourcefolder.Files
dim createDate: createDate = file.DateCreated
dim modifyDate: modifyDate = file.DateLastModified
if createDate <> modifyDate Then
file.Move destinationpath
count = count + 1
end if
next
WScript.Echo("complete: " & count & " file(s) moved")
Есть идеи? Любой вклад с благодарностью. Спасибо!
2 ответа
Если путь назначения для перемещения файла является папкой, а не полным путем (включая имя файла назначения), он должен иметь обратную косую черту:
destinationpath = "C:\users\bmcwilliams\Desktop\TestCompleted\"
В противном случае Move
Операция обнаружит, что место назначения (папка) уже существует и, таким образом, не выполнится.
Вы копируете в новое место, но не указываете новое имя файла. Чтобы решить эту проблему, добавьте \ и имя файла к пути назначения.
file.Move destinationpath +"\" + file.name