Я пытаюсь переместить некоторые папки в удаленный каталог.
Я запускаю скрипт Powershell на Windows Server 2016.
Все, что я делаю в своем коде, это.
Foreach ($directory in $directroys){
try{
Write-Output $directory
Move-Item $directory $targetDirectory -Force -ErrorAction stop
}catch{
$errorMessage = $PSItem.ErrorDetails.Message
Write-Output $PSItem.ErrorDetails.Message
}
В большинстве случаев это работает.
Однако иногда я получаю исключение DirectoryNotFoundException при перемещении папки. Проблема не в том, что он не может найти папку, которую я пытаюсь переместить, а скорее в том, что он не может найти файл в папке, которую я пытаюсь переместить.
Ошибка выглядит следующим образом:
[DBG]: PS C:\Users\bcciam\Desktop>> Write-Output $PSItem
Move-Item : Could not find a part of the path.
At C:\Users\bcciam\Desktop\test2.ps1:224 char:9
+ Move-Item $directory $targetDirectory -Force -ErrorAction sto ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (ConfidentialFilename.pdf:FileInfo) [Move-Item], DirectoryNotFoundException
+ FullyQualifiedErrorId : MoveFileInfoItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand
Эта ошибка возникает совершенно случайно. Как команда Move-Item не может найти файл в каталоге, в котором она перемещается? (Эта ошибка, вероятно, также возникает, когда я хочу удалить папку)