使用批处理或 VBS 将文件夹和子文件夹移动到另一个文件夹
Move a Folder and Subfolders to another Folder using Batch or VBS
我正在尝试从我的 Dropbox 文件夹 自动移动 子文件夹和文件 在我的 F: Drive 到同一驱动器上的 单独文件夹 ,因此在备份文件时清空我的 Dropbox 并在其中释放 space。
我批量试过这个:
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\ 到 F:\backup\camera\ 所以我可以将它设置为计划任务并让它每天 运行 以便它清空我的 Dropbox 文件夹(因此清空我的 Dropbox 帐户)的所有文件和文件夹并备份它们。
任何帮助将不胜感激,我已经搜索了许多不同的选项并且 none 似乎专门用于我的目的。
我建议使用 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
等)自定义它。
对于 "Access Denied" 错误,请确保:
- 您对目标文件夹具有写入权限
(通过仅使用 MKDIR "F:\backup\Camera\some_file.txt"
创建批处理文件进行测试)
(通过仅使用 MKDIR "F:\backup\Camera\some_folder"
创建批处理文件进行测试)
- 正在移动的文件在 运行 脚本
之前的任何地方都没有被使用或打开
(例如,它没有在 Dropbox 应用程序中打开。)
我正在尝试从我的 Dropbox 文件夹 自动移动 子文件夹和文件 在我的 F: Drive 到同一驱动器上的 单独文件夹 ,因此在备份文件时清空我的 Dropbox 并在其中释放 space。
我批量试过这个:
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\ 到 F:\backup\camera\ 所以我可以将它设置为计划任务并让它每天 运行 以便它清空我的 Dropbox 文件夹(因此清空我的 Dropbox 帐户)的所有文件和文件夹并备份它们。
任何帮助将不胜感激,我已经搜索了许多不同的选项并且 none 似乎专门用于我的目的。
我建议使用 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
等)自定义它。
对于 "Access Denied" 错误,请确保:
- 您对目标文件夹具有写入权限
(通过仅使用MKDIR "F:\backup\Camera\some_file.txt"
创建批处理文件进行测试)
(通过仅使用MKDIR "F:\backup\Camera\some_folder"
创建批处理文件进行测试) - 正在移动的文件在 运行 脚本
之前的任何地方都没有被使用或打开 (例如,它没有在 Dropbox 应用程序中打开。)