在不丢失权限的情况下从 csv 文件中移动文件夹列表

问题描述 投票:0回答:0

我正在尝试将用户文件夹列表移动到新的文件服务器,因此我需要保持权限不变。为此,我正在使用 robocopy。问题是,它只会移动源文件夹内的文件和子文件夹,而不是源文件夹本身。这是我正在使用的脚本:

   function Move-Folders {
   param(
       [Parameter(Mandatory=$true)]
       [string]$Csv
   )

   $folders = Import-Csv -Path $Csv
   $Target = "\\Server\share\"

   foreach ($folder in $folders) {
       $folderPath = $folder.Path
       Write-Host "moving folder $folderPath"

       try {
           robocopy $folderPath $Target /E /COPYALL /MOVE /NP
       } catch {
           $errorMessage = $_.Exception.Message
           Write-Host -ForegroundColor Yellow "Error Moving folder $folderPath : $errorMessage"
       }
   }
}

如果发生错误,它也不会显示我在 catch 中写的错误消息。 有人可以帮忙吗?如何获取移动 CSV 文件中写入的源文件夹的命令 这是我第一次使用 Robocopy,所以如果你们对命令有任何修改,请随时添加 csv 路径列是这样写的 \Server older

powershell shell scripting robocopy
© www.soinside.com 2019 - 2024. All rights reserved.