Мне нужно переместить (не копировать, а затем удалить, для проверки файла) папку из сетевой папки в другую сетевую папку с помощью Powershell.
Я пробовал Move-Item
(где test1
- это папка):
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
Я что-то упускаю здесь? Простой способ сделать это?
Я попробовал robocopy
:
robocopy /MOVE test1 \\SomeServer\c$\some_folder\
Это частично сработало, но оно потеряло папку test1
(то есть test
не отображалось в some_folder
), и только файлы в этой папке оказались в \\SomeServer\c$\some_folder\
Вот как должны выглядеть результаты:
Рабочий каталог (до переезда):
- test1 (папка с файлами в ней)
- test2 (папка с файлами в ней)
- test3 (папка с файлами в ней)
- file.txt
Рабочий каталог (после переезда):
- test2 (папка с файлами в ней)
- test3 (папка с файлами в ней)
- file.txt
\\SomeServer\c $\some_folder\ (ожидается после перемещения):
- test1 (папка с файлами в ней)
Проблема в том, что когда я использую robocopy, в результате files in it
отображаются в результате, но нет папки test1
...
Я попробовал robocopy с /s и /move, все еще не повезло.
Я нашел что-то вроде:
set folder="test1"
robocopy /MOVE "%folder%" "\\SomeServer\c$\some_folder\%folder%"
Почти работает, но метаданные папки (дата изменения / создания) теряются, и это должно остаться.