$ErrorActionPreference = 'Continue'
try
{
$fileEntries = [IO.Directory]::GetFiles("somedirectory", "*",[IO.SearchOption]::AllDirectories);
}
catch [Exception]
{
$_.Exception.Message
}
foreach($fileName in $fileEntries)
{
[Console]::WriteLine($fileName);
}
上面的代码抛出异常
找不到路径 '\blah\dah\dodah\updity_and_suppy\03 的一部分。文档 hokeypokey\imp\lalalid\welpy qwerty-poloky 架构 - tada sausy(来自 Internet)todady poloky TPG upodsl poliduity\B4PE 到 Y3 - 外部 asdfds polm toluky 到 Saftgy 3 yuppy App\Old Docs'。
我稍微混淆了路径,但布局在那里。
我尝试使用 GetFiles 而不是 Get-ChildItem 的原因是速度。我正在通过网络遍历可能有 100 TB 的数据,而 Get-ChildItem 在检索 .Net 对象时速度太慢,并且包含的信息超出了我的需要。
我要问的问题是“可以使用类似于 > -ErrorAction SilentlyContinue 的方法忽略此错误吗?” 或“有没有办法阻止此错误的发生?”
谢谢您的考虑。