已編輯
我需要將一個子資料夾移動到另一個子資料夾。當我使用這個命令時:
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
(可以下載這裡) 安裝並新增到您的路徑中。 7z 是一個快速的命令列歸檔器,因此也可以使用tar.exe
、gzip.exe
等來完成。
我做了類似以下的事情:
7z a x:\destinationfolder\tmp.7z c:\directoryyouwanttomove && ^
7z x x:\destinationfolder\tmp.7z
我意識到這已經很老了,我並沒有專門回答操作員的問題,但我很難在任何地方找到這個記錄,也許我可以減輕某人的痛苦。