2017-03-02 10 views
0

Directory.GetFiles(rootFolderPath, fileSearchPattern);と一緒に使用できる検索パターンは、someName.xxx.txtのすべてのファイルを返します。xxxは、001,002,003などの連続番号です。基本的にファイルに '最後は*.txtですが、*.*.txtという名前のタイプがあります。バックアップファイル名の検索パターン

filename.001.txt filename.002.txt filename.010.txt .....など。

+0

"*。*。txt"を試しましたか?私には妥当だと思われる。 –

+0

@konrad 'GetFiles'のパターンは、すべてのファイルリストを取得してフィルタリングするよりも**高速です**と思いますか? –

+0

@JohnnyMopp申し訳ありませんが、 "..txt"は結果を返しません。提案していただきありがとうございます。 – konrad

答えて

1

拡張子に含まれていない名前に.が含まれるファイルを探している場合は、パターンがWindows APIに渡される方法のためにパターン検索でGetFilesメソッドを使用しないことをお勧めしますファイル名のピリオドと混同してしまいます。代わりに、LinqとRegexでフィルタリングすることができます。

var regexPattern = @".*\.\d{3}\.txt"; 

var files = Directory.GetFiles(@"C:\Users\wired\Documents") 
    .Where(f => Regex.IsMatch(f, regexPattern)); 
関連する問題