Project- *という名前の複数のフォルダーを含む親フォルダーがあります(フォルダーにはProject-1、Project-15、Project-253などの番号が付けられています)。これらの各フォルダの中には、常に同じ名前の「project.zip」というzipファイルがあります。つまり、フォルダ構造が正しい場合は、常にTopFolder \ Project-*\project.zipである必要があります。
各Project-*フォルダーを調べて、project.zipファイルが別のフォルダー内にネストされているかどうかを確認するプログラムを作成しようとしています(例:Project-* \ newfolder \ project.zip)
Project- *というフォルダーを検索し、サブディレクトリがある場合はそれらを一覧表示するコードがありますが、project.zipファイルをフォルダーと見なしているため、すべてがサブディレクトリを持っていると表示されます。
DirectoryInfo directory = new DirectoryInfo(txtbxOldFolder.Text);
DirectoryInfo[] folders = directory.GetDirectories("*Project-*", SearchOption.AllDirectories);
//finds folders nested in the folder
var query = from folder in folders
where folder.GetFileSystemInfos().Length > 0
select folder.FullName.ToString();
foreach (string str in query)
{
//this adds the path of any Project-* folder with subdirectories
listNestedFolder.Add(str);
}
上記のように、上記のコードはサブディレクトリを持つProject- *フォルダーを検出しますが、Project-*\project.zipも検出します。zipファイルをディレクトリとして識別しないようにするにはどうすればよいですか?