已编辑
我需要将一个子文件夹移动到另一个子文件夹。当我使用此命令时:
move e:\rootfolder\sourcefolder c:\rootfolder\destfolder
我明白了Access is denied
。
请注意,源驱动器是 e:,而目标驱动器是 c:。我认为第一个回答者说的对,这是 cmd.exe 的问题。我会花点时间再标记他们的答案。
答案1
当尝试在驱动器之间移动文件夹时,这看起来似乎是预期的行为(出于某些奇怪的原因)。
http://technet.microsoft.com/en-us/library/hh849852.aspx
Move-Item 将在同一提供商支持的驱动器之间移动文件,但它只会在同一驱动器内移动目录。
我知道该链接说它适用于 Windows Powershell,但我刚刚在工作时在我的 XP 机器上进行了测试并看到了完全相同的行为,所以我相信它也适用于 cmd.exe。
答案2
这是一种迂回的方法,但因为我经常遇到这种情况,所以我想出了一个解决方案,可以完成相同的任务,而且速度没有太大差异。需要您拥有7z.exe
(可以下载这里tar.exe
) 安装,并添加到您的路径中。7z 是一个快速的命令行归档程序,因此这也可以使用、gzip.exe
等来完成。
我做了类似以下的事情:
7z a x:\destinationfolder\tmp.7z c:\directoryyouwanttomove && ^
7z x x:\destinationfolder\tmp.7z
我知道这已经很老了,而且我也没有具体回答 op 的问题,但是我真的很难在任何地方找到这方面的记录,也许我可以为某些人省点麻烦。