我正在尝试将用户文件夹列表移动到新的文件服务器,因此我需要保持权限不变。为此,我正在使用 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