所以我的大项目是提出一种查找太长的UNC路径名的方法,一旦我掌握了这些信息,就将它们用作映射驱动器,以便我可以在该点之下运行Get-Child信息。 / p>
我有以下代码,它让我写了符合该条件的文件夹,并向我显示UNC路径,我想将该信息添加到可以回调的数组
这是我目前的代码:
Get-ChildItem "\\Server\Share" -recurse -ErrorAction SilentlyContinue -ErrorVariable err
foreach ($errorRecord in $err)
{
if ($errorRecord.Exception -is [System.IO.PathTooLongException])
{
Write-Warning ($errorRecord.TargetObject)
$ErrorArray = $errorRecord
}
else
{
Write-Error -ErrorRecord $errorRecord
}
}
Out-File C:\ErrorArray.txt
PS的新手,有谁可以请我指出正确的方向吗?
答案 0 :(得分:1)
添加变量$results
以保存要捕获的错误并将其输出到文件中。除了抓取带有错误消息的字符串 - $errorRecord.TargetObject
- 而不是整个错误对象。
$results = @()
Get-ChildItem "\\Server\Share" -recurse -ErrorAction SilentlyContinue -ErrorVariable err
foreach ($errorRecord in $err)
{
if ($errorRecord.Exception -is [System.IO.PathTooLongException])
{
Write-Warning ($errorRecord.TargetObject)
$results += ,$errorRecord.TargetObject
}
else
{
Write-Error -ErrorRecord $errorRecord
}
}
$results | Out-File C:\temp\ErrorArray.txt