我需要将 Windows Server 2008 机器上的大量目录从磁盘 C(内部)移动到磁盘 E(USB)。我原本计划制作一个包含数千个“移动”命令的大型 .bat 文件。技术含量不高,但似乎很简单。
但是如果我输入“move c:\myDir e:\”,我就会得到“拒绝访问” - 即使我以管理员身份登录,运行提升权限的 cmd.exe。
我授予管理员对 C 和 E 的完全控制权;但访问仍然被拒绝。
如果我使用 GUI 拖动目录,它可以正常工作。
我错过了什么?
答案1
“move” 命令的帮助说它“移动文件并重命名文件和目录。” 它并没有说“move”命令移动目录。
从 CLI,您可以使用copy c:\mydir e:\ /s
然后rmdir c:\mydir /s
。
我建议使用robocopy c:\mydir e:\ /move /s
。robocopy 可在任何现代的 Windows 安装上使用,并在复制大量数据时提供有用的反馈。
如果您使用的是 Powershell 而不是 cmd.exe,您可以轻松编写一个小辅助函数或别名来帮助缩短/简化命令。
答案2
我不是 Windows 管理员,所以请谨慎对待我的回答,这是一种“开箱即用”的方法。我最近正在备份朋友的计算机以进行重新安装,也遇到了类似的问题(尽管我是在复制,而不是移动)。无论我以哪个用户身份登录,权限总是会妨碍我,这让我非常厌烦,于是我放弃了,启动了 Fedora Live CD,挂载了 NTFS 卷,然后使用它复制了内容。
如果你不喜欢 Linux,你可以尝试类似巴特·佩这将为您提供一个在文件系统上执行工作的备用环境。