Acesso negado ao tentar mover um arquivo via linha de comando

Acesso negado ao tentar mover um arquivo via linha de comando

Editado

Preciso mover uma subpasta para outra subpasta. Quando eu uso este comando:

move e:\rootfolder\sourcefolder c:\rootfolder\destfolder

Eu recebo Access is denied.

Observe como a unidade de origem é e: e o destino é c:. Acredito que o primeiro respondente estava certo sobre esse ser o problema com o cmd.exe. Darei algum tempo antes de marcar a resposta.

Responder1

Parece que este é o comportamento esperado (por algum motivo estranho) ao tentar mover pastas entre unidades.

http://technet.microsoft.com/en-us/library/hh849852.aspx

Move-Item moverá arquivos entre unidades suportadas pelo mesmo provedor, mas moverá diretórios apenas dentro da mesma unidade.

Eu sei que esse link diz que se aplica ao Windows Powershell, mas acabei de testar na minha máquina XP aqui no trabalho e vi exatamente o mesmo comportamento, então acredito que também se aplica ao cmd.exe.

Responder2

É um método tortuoso, para dizer o mínimo, mas como encontro isso com frequência, descobri uma solução que realiza a mesma coisa sem grande diferença de velocidade. Requer que você tenha 7z.exe(pode ser baixadoaqui) instalado e adicionado ao seu caminho. 7z é um arquivador de linha de comando rápido, portanto, isso também pode ser feito com tar.exe, gzip.exe, etc.

Eu faço algo parecido com o seguinte:

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

Reconheço que isso é muito antigo e não estou respondendo especificamente à pergunta da operação, mas tive muita dificuldade em encontrar isso documentado em qualquer lugar e talvez pudesse poupar um pouco de dor a alguém.

informação relacionada