2017-01-03 9 views
0

私は、フォルダ内に2500以上の項目があり、すべてが約500の関連性があり、すべてが同じ命名規則に従うという状況にあります。 700.joesmithまたは2000.Annieuser特定の命名規則に従うファイル名を見つける

特定の命名規則に従って特定のファイルを隔離するCMDラインまたはPowerShellを介した方法はあります。以前はfindstrを基本的な解決策として使用していましたが、フォーマットではなくリテラルな検索用語を使用していたので、PowerShellが解決策になると思っていましたが、私は初心者です。

私は必要があれば幸せに長い道を行く方法があると思う。

ありがとうございます。

+1

: 'は、Get-ChildItemコマンドレットを "C:\ MyFolderを" | Where-Object {$ _。Name - "\ d + \ .. +"} 'とマッチします。警告:エッジケース。正規表現は_1以上の数字を意味し、ドットとそれに続く任意の数字が続く。 – sodawillow

+0

おかげさまで@sodawillowしかし、あなたはスクリプトについての説明を提供することができます。それがうまくいくならば、それを拡張したり、変更したりする必要がある場合は、私は手がかりを持たないでしょう。 – morrisstu

+1

これを出発点として使用し、[edit your question](http://stackoverflow.com/posts/41450041/edit)を参照して、コードを追加して調整することをお勧めします。 – sodawillow

答えて

1

Get-ChildItemには-Filterパラメータを使用します。これにより、ファイルシステムドライバでフィルタリングが実行され、PowerShellのWhere-Objectコマンドを使用したフィルタリングと比較して、パフォーマンスが向上します。

このStackOverflowのポストが効果的-Filterを使用する方法について非常に詳細に入る:PowerShellでPowershell, File system provider, Get-ChildItem filtering... where are the official docs?