Eu tenho uma unidade chamada D e uma unidade chamada E. Criei uma pasta chamada "teste" na unidade D e uma pasta chamada "destino" na unidade E usando o comando mkdir. Em seguida, no DI, criei um link simbólico usando o seguinte comando:
mklink /D D:\source E:\destination
Agora, quando tento mover a pasta chamada "test" de D para D:\source usando o comando move D:\test D:\source
, recebo uma mensagem de erro simplesmente dizendo "Acesso negado". Se eu tentar mover um arquivo chamado "test.txt" com o comando move D:\test.txt D:\source
, não recebo nenhum erro e o arquivo é movido para E:\destination com sucesso.
Eu também tentei fazer isso no powershell com o comando mv D:\test\ D:\source\
e obtive o mesmo resultado, mas recebi uma mensagem de erro mais longa que diz:
mv : Access to the path 'D:\test\' is denied.
At line:1 char:1
+ mv D:\test\ D:\source\
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (D:\test\:DirectoryInfo) [Move-Item], IOException
+ FullyQualifiedErrorId : MoveDirectoryItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand
Curiosamente, acabei de notar que mover a pasta de teste diretamente para a pasta de destino usando move D:\test E:\destination
também aciona o erro "Acesso negado". Portanto, meu problema pode não estar relacionado especificamente ao link simbólico. No entanto, mover a pasta no powershell move D:\test E:\destination
funciona bem (enquanto estava falhando quando era um link simbólico). É muito estranho.
Por que estou recebendo este erro de acesso negado e por que ele só retorna um erro se eu tentar mover uma pasta e não um arquivo? Além disso, por que mover diretamente a pasta falha no cmd, mas é bem-sucedido no powershell? Existe algo que eu possa fazer para contornar o erro?
Nota: tentei todos os comandos como administrador.
Aqui está a guia de segurança das propriedades da pasta de destino:
E aqui está a guia de segurança das propriedades da pasta de teste: