所以我的更大的项目是想出一种方法来找出UNC的路径名太长,一旦我有了这个信息,就把它们作为映射驱动器使用,这样我就可以在这个点下运行Get-Child信息。
我有下面的代码,它为我编写了符合该条件的文件夹,并向我显示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,谁能帮我指出正确的方向吗?
发布于 2014-06-09 09:33:46
添加一个变量$results
,以保存要捕获的错误,并将其导出到文件中。此外,还可以获取带有错误消息( $errorRecord.TargetObject
)的字符串,而不是整个error对象。
$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
https://stackoverflow.com/questions/24117038
复制相似问题