Как команда Move-Item не может найти файл в каталоге, в котором она перемещается? - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь переместить некоторые папки в удаленный каталог.
Я запускаю скрипт 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 не может найти файл в каталоге, в котором она перемещается? (Эта ошибка, вероятно, также возникает, когда я хочу удалить папку)

...