c# 检查文件路径是否包含特定目录

Jam*_*mes 5 .net c# filepath

当我得到像 c:\folder1\a12\somefile.txt 这样的路径时,我想检查文件名是否包含目录 c:\folder1\a1。

上面的文件名应该返回 false。

该代码无权访问有问题的文件系统。它不需要检查文件或文件夹是否存在。只需遵循文件和目录名称约定即可。

如果代码可以处理备用路径分隔符/UNIX 路径,那就太好了。

sam*_*amy 5

您可以简单地检查您的文件路径是否以目录路径开头。不要忘记在目录路径后添加分隔符以避免误报

public static bool IsFileBelowDirectory(string fileInfo, string directoryInfo, string separator)
{
    var directoryPath = string.Format("{0}{1}"
    , directoryInfo
    , directoryInfo.EndsWith(separator) ? "": separator);

    return fileInfo.StartsWith(directoryPath, StringComparison.OrdinalIgnoreCase);
}
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记标准化两侧的分隔符。 (3认同)