Caminho muito longo, mas não é?

Caminho muito longo, mas não é?

Estou tentando executar um Get-ChildItem -Recursecompartilhamento de arquivos e estou recebendo alguns erros de "caminho muito longo". Mas quando eu me aprofundo nisso, alguns deles não são.

Estou usando -ErrorVariablepara capturar os detalhes do erro em uma variável chamada $ErrLog. Em seguida, faça o seguinte para registrá-los em um CSV:

if ($ErrLog.Length -ne 0)
{
    $ErrLog | ForEach-Object {

        # Gather details of interest.
        $ErrTarget = $_.TargetObject
        $ErrReason = $_.CategoryInfo.Reason

        # Write data to custom PowerShell object.
        $ErrObject = New-Object PSObject
        $ErrObject | Add-Member -MemberType NoteProperty -Name 'Target Path' -Value $ErrTarget
        $ErrObject | Add-Member -MemberType NoteProperty -Name 'Error Reason' -Value $ErrReason

        # Add error to log variable.
        $ErrList += $ErrObject
    }
}

# Announce number of errors, and write to log as needed.
if ($ErrList.Length -eq 0)
{
    Write-Output "No errors encountered.`n"
}
else
{
    $ErrList | Export-CSV $LogErrors -NoTypeInformation
    $ErrorsCount = $ErrList.Length
    Write-Output "Logged $ErrorsCount errors.`n"
}

O código acima parece estar funcionando bem, mas os dados que estou obtendo dele não combinam totalmente com os detalhes do erro.

Os detalhes do erro no console dizem que os nomes dos arquivos devem ter menos de 260 caracteres e os nomes dos diretórios devem ter menos de 248. Faz bastante sentido. No entanto, todos os caminhos registrados são diretórios e alguns deles têm até menos de 200 caracteres!

O maior número que tenho no log é de 259 caracteres. Esse e outros acima de 248 caracteres fazem sentido. O mais curto é 186, e há muitos outros menores que 248.

Por que estou recebendo esses erros de "caminho muito longo" em diretórios que não são? Há algo que os dados de erro deveriam estar me dizendo que simplesmente não estou capturando no log?

informação relacionada