**编辑: 有人指出我的代码并不实际的工作内容。但它标识“this.zip”文件作为一个子文件夹,所以这是列出这不是我想要的“内容\ this.zip”的任何文件夹。 (试图找到那些'contents \ newfolder \ this.zip',所以'content'目录至少有一个子文件夹)。我怎样才能让它只列出实际文件夹的目录,而不仅仅是.zip文件?为什么我的代码找不到目录
我写一个程序,有标题为它们通常直接位于一个名为“内容”文件夹中的“this.zip”文件交易。我正在尝试确定this.zip文件是否直接位于“内容”文件夹中,或者是否存在其中的子文件夹。我有一组代码,正在努力确定“内容”文件夹是空的,我以为我可以改变它来查找包含子目录任何“内容”的文件夹,但它不工作。
//This finds 'contents' folders that are empty
DirectoryInfo directory = new DirectoryInfo(txtbxOldFolder.Text);
DirectoryInfo[] folders = directory.GetDirectories("*contents*",SearchOption.AllDirectories);
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 empty 'contents' folder
listEmptyFolder.Add(str);
}
我想如果我改变了查询 - where语句是一个长度> 1,将发现的任何有子目录,但它不工作。这是完成我所尝试的最好方式,还是试图使用LINQ甚至工作?
//This is supposed to find 'contents' folders that have subdirectories, but it's unsuccessful
DirectoryInfo directory = new DirectoryInfo(txtbxOldFolder.Text);
DirectoryInfo[] folders = directory.GetDirectories("*contents*",SearchOption.AllDirectories);
Var query = from folder in folders
where folder.GetFileSystemInfos().Length > 1
select folder.FullName.ToString();
foreach (string str in query)
{
//this adds the path of any empty 'Contents' folder
listNestedFolders.Add(str);
}
你能仔细检查您发布的样本? GetDirectories的方法签名是Directory.GetDirectories(String),Directory.GetDirectories(String,String)和Directory.GetDirectories(String,String,SearchOption)。 – jac 2012-08-12 03:10:05
对于我列出的工作代码,它看起来完全一样。 – 2012-08-12 03:13:57
你的代码找到空的文件夹。 – 2012-08-12 03:16:57