Переместить папку и подпапки в другую папку, используя пакетную или VBS

Я пытаюсь автоматически переместить подпапки и файлы из папки Dropbox на моем диске F: в отдельную папку на том же диске, поэтому я освобождаю свой Dropbox и освобождаю место в нем во время резервного копирования файлов.

Я попробовал это в пакетном режиме:

MOVE /-Y "F:\Dropbox\files\camera" "F:\backup\Camera\"
pause

но я продолжаю получать отказ в доступе даже при работе от имени администратора.

Я также попробовал это в VBS:

With CreateObject("Scripting.FileSystemObject")
.MoveFile "F:\Dropbox\files\camera*", "F:\backup\Camera\"
End With

но я получил только Путь, Не Найденный от этого.

Так что в значительной степени я немного озадачен или упускаю из виду что-то очевидное, но в основном я просто хочу сделать небольшой скрипт в vbs или пакете, который позволит мне перемещать все подпапки и файлы из F:\Dropbox\files\camera\ to F:\backup\camera\, чтобы я мог установить его как запланированное задание и запускать его каждый день, чтобы он очищал мою папку Dropbox (и, следовательно, мою учетную запись Dropbox) от всех файлов и папок и делал их резервные копии.

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

1 ответ

Решение

Я предлагаю использовать ROBOCOPYвместоMOVE,
У меня есть аналогичный скрипт резервного копирования, который использует его.

Увидеть:
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

@ECHO OFF

ROBOCOPY /E /MOVE "F:\Dropbox\files\camera" "F:\backup\Camera\" 
MKDIR "F:\Dropbox\files\camera"

Опции:

/E    : Copy Subfolders, including Empty Subfolders.
/MOVE : Move files and dirs (delete from source after copying).

Из-за/MOVEпереключатель, мне нужно заново создать исходный каталог, потому чтоROBOCOPYперемещает его в каталог назначения. ROBOCOPY по умолчанию попытается повторить операцию в случае ее сбоя. Увидеть /R:n а также /W:nварианты, чтобы настроить его. Кроме того, команда напечатает много информационных сообщений на терминал, но вы можете настроить его, используя ROBOCOPY Варианты регистрации (напр. /NJH, /NJS, так далее).

Для ошибки "Отказано в доступе" убедитесь, что:

  • У вас есть доступ для записи в папку назначения
    (Тестирование путем создания командного файла сMKDIR "F:\backup\Camera\some_file.txt")
    (Тестирование путем создания командного файла с MKDIR "F:\backup\Camera\some_folder")
  • Перемещаемые файлы нигде не используются и не открываются до запуска сценария.
    (Например, он не открывается в приложении Dropbox.)
Другие вопросы по тегам