2017-03-22 12 views
1

複数のサブフォルダを持つフォルダからファイルを再帰的に取得しようとしています。私は、Windows XPがこの5b ... cb \ amd64ファイルをフォルダに作成し、アクセス拒否エラーをスローすることに気付きました。PowershellでGet-childItemのディレクトリを無視する

Get-ChildItem:パスへのアクセスが拒否されました。

これらのマシンには管理者権限がありません。これらのフォルダをスキップしています。

これを行う方法はありますか?ここでは私が成功しなかったことがあります。スクリプトを壊さないので、これらのメッセージを抑制することをお勧めしますか?どんな助けもありがとう。

Get-ChildItem $sourceDir -Recurse | ? { $_.FullName -notlike '*\5b...cb\*'} 
| Where-Object {$_.CreationTime.Date -eq ((Get-Date).Date)} | 
foreach { 
    Write-Host $_ 
} 
+6

'は、Get-ChildItemコマンドレット$ SOURCEDIR -Recurse -ErrorAction SilentlyContinue'? –

+2

あなたが実行しようとしている問題は、 '-exclude'がリーフレベルでしか動作しないため、' -recurse'を使うときにディレクトリのサブアイテムを除外するのには役に立ちません。アクセスが拒否されたエラーは自然なフィルタであり、エラーを無視することを推奨します。 – BenH

+0

と聞こえます。ご協力ありがとうございました。 – NepCoder

答えて

4

あなたはGet-ChildItemによってスローされます表示されるエラーは、とても助けにはなりませんパイプラインのさらに下にアクセスできないファイルをフィルタ処理しようとしています。あなたはerrorActionというcommon parameterを使用して元のエラーを抑止する必要があります。

Get-ChildItem $sourceDir -Recurse -ErrorAction SilentlyContinue | ... 
関連する問題