複数の検索フィルターを一度に指定することは可能かと思いました。たとえば、「&」記号が付いているすべてのファイルを検索するこのコード行があります。
get-childitem ./ -Recurse -Filter "*&*" |
? { $_.PSIsContainer } |
Select-Object -Property FullName
これを拡張して、1回検索して、%、$、@などの他の記号を含むファイルを見つけられるようにします。これらの記号をすべて含むファイルではなく、これらの記号を含むファイルを見つけたいのです。どこかにORが必要だと思います。以下のコードを試しましたが、うまくいかなかったようです。
get-childitem ./ -Recurse -Filter "*&*" -Filter "%" |
? { $_.PSIsContainer } |
Select-Object -Property FullName
これには、-match
演算子と正規表現を使用できます。
Get-ChildItem -Recurse |
Where { !$_.PSIsContainer -and ($_.name -match '&|%|\$|@')} |
Select-Object -Property FullName
PowerShell v3以降を使用している場合は、これを少し単純化できます。
Get-ChildItem -Recurse -File |
Where Name -match '&|%|\$|@' |
Select-Object -Property FullName
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加