Eu preciso mover (não copiar e excluir, por uma questão de verificação de arquivos) uma pasta de uma pasta de rede para outra pasta de rede usando o Powershell.
Eu tentei Move-Item
(onde test1
é uma pasta):
PS C:\Users\user\Documents> Move-Item test1 \SomeServer\c$\some_folder\
Move-Item : Source and destination path must have identical roots. Move will not work across volumes.
At line:1 char:10
+ Move-Item <<<< test1 \SomeServer\c$\some_folder\
+ CategoryInfo : WriteError: (C:\Users\user\Documents\test1:DirectoryInfo) [Move-Item], IOExce
ption
+ FullyQualifiedErrorId : MoveDirectoryItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand
Estou sentindo falta de algo simples aqui? Uma maneira simples de fazer isso?
Eu tentei robocopy
:
robocopy /MOVE test1 \SomeServer\c$\some_folder\
Que funcionou parcialmente, mas perdeu a pasta test1
(o que significa que test
não apareceu em some_folder
) e apenas os arquivos dessa pasta acabaram em \SomeServer\c$\some_folder\
É assim que os resultados devem ser:
Diretório de trabalho (antes da mudança):
- test1 (pasta com arquivos nela)
- test2 (pasta com arquivos nela)
- test3 (pasta com arquivos nela)
- arquivo.txt
Diretiva de trabalho (após a mudança):
- test2 (pasta com arquivos nela)
- test3 (pasta com arquivos nela)
- arquivo.txt
\\ SomeServer \ c $ \ alguma_pasta \ (esperado após a movimentação):
- test1 (pasta com arquivos nela)
O problema é que, quando eu uso o robocopy, o resultado é files in it
mostrado no resultado, mas não a pasta test1
...
Eu tentei robocopy com um / s e / move, ainda sem sorte.
Eu encontrei algo como:
set folder="test1"
robocopy /MOVE "%folder%" "\SomeServer\c$\some_folder\%folder%"
Quase funciona, mas os metadados da pasta (data de modificação / criação) são perdidos e precisam permanecer.