からファイルextentionsを除外する:C#が、私はこの機能部分であるforeach文を持つforeach文
try
{
string pathToFiles = sourceTB.Text;
DirectoryInfo dirInfo = new DirectoryInfo(pathToFiles);
int i = 0;
foreach (var files in dirInfo.EnumerateFiles())
{
//Do stuff here
}
MessageBox.Show("Process Successful", "Completed");
}
catch
{
MessageBox.Show("Process failed", "Failed");
}
それが選択したフォルダの内容全体を読み込みますように、私はそれをコーディングできるようにしたいと思います(これは正常に動作していますが)、特定のファイル拡張子を持つファイルをスキップするようにしています。
例として、フォルダ内のすべてのファイルが.txtファイルであり、.jpgファイルを除外したい場合。
私は達成するためのいくつかの方法を試してみましたが、このような:
var allFilesFromFolder = Directory.GetFiles(pathToFiles);
var filesToExclude = Directory.GetFiles(pathToFiles, "*.jpg");
var filetoInclude = allFilesFromFolder.Except(filesToExclude);
と、この:
var files = Directory.GetFiles(pathToFiles).Where(name => !name.EndsWith(".jpg"));
が、これらの両方が、foreachループ内のコードと文句を言わないフィット感ににエラーをもたらしますファイルを循環するとき。
これを達成する方法はありますか?
コードにどのような誤りが含まれていますか?説明してください – Steve
正確には何がうまくいかないのですか?あなたのコード(少なくとも2番目の変種)は大丈夫です。 –
[特定の拡張子のDirectory.GetFiles](https://stackoverflow.com/questions/13301053/directory-getfiles-of-certain-extension)の可能な複製 –