嘗試透過命令列移動文件時存取被拒絕

嘗試透過命令列移動文件時存取被拒絕

已編輯

我需要將一個子資料夾移動到另一個子資料夾。當我使用這個命令時:

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.exegzip.exe等來完成。

我做了類似以下的事情:

7z a x:\destinationfolder\tmp.7z c:\directoryyouwanttomove && ^
7z x x:\destinationfolder\tmp.7z

我意識到這已經很老了,我並沒有專門回答操作員的問題,但我很難在任何地方找到這個記錄,也許我可以減輕某人的痛苦。

相關內容