![](/img/trans.png)
[英]Searching all files in directories and sub-directories that contain specific string and remove string
[英]Get all sub directories that only contain files
我有一個路徑,我想列出其下的子目錄,其中每個子目錄不包含任何其他目錄。 (僅那些不包含文件夾,而僅包含文件的子目錄。)
有什么聰明的方法嗎?
據我了解,您想在給定路徑下列出僅包含文件的子目錄。
static IEnumerable<string> GetSubdirectoriesContainingOnlyFiles(string path)
{
return from subdirectory in Directory.GetDirectories(path, "*", SearchOption.AllDirectories)
where Directory.GetDirectories(subdirectory).Length == 0
select subdirectory;
}
DirectoryInfo dInfo = new DirectoryInfo(<path to dir>);
DirectoryInfo[] subdirs = dInfo.GetDirectories();
您可以使用Directory.GetDirectories
方法。
但是我不確定我是否正確理解了您的問題...您能否澄清?
基於Havard的答案,但略短一些(可能更易於閱讀,因為它使用!Subdirs.Any()
而不是Subdirs.Length == 0
):
static IEnumerable<string> GetSubdirectoriesContainingOnlyFiles(string path)
{
return Directory.GetDirectories(path, "*", SearchOption.AllDirectories)
.Where( subdir => !Directory.GetDirectories(subdir).Any() );
}
另請注意,這需要using System.Linq;
可以工作,因為它使用LINQ查詢語言。 (當然using System.IO;
對於Directory
類:))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.