我正在使用 C# 2010 创建一个应用程序,其目的是复制具有指定扩展名的文件。它使用 .NET Framework 3.5 。
我有以下代码:
private void GetFiles()
{
bool validext;
foreach (string filePath in Directory.GetFiles(SourcePath, "*.*", SearchOption.AllDirectories))
{
//Check if the file has a specified extension
validext = false;
foreach (string extension in ext)
if (HasExtension(filePath, extension))
{
validext = true;
break;
}
if ((validext && mode == 1) || (!validext && mode == 2))
{
Directory.CreateDirectory(Path.GetDirectoryName(filePath));
to_copy.Add(filePath);
}
}
totalcount = to_copy.Count;
}
问题出在这个命令上:
Directory.CreateDirectory(TrimFile(filePath));
它不会引发任何异常,它应该创建的目录路径是有效的,并且应用程序以管理员权限运行。然而,该目录并未创建。搜索互联网并没有给我任何答案,所以我的问题是:
为什么Directory.CreateDirectory(TrimFile(filePath));
不工作?
编辑:我已将 FileTrim 函数替换为Path.GetDirectoryName(filePath)
.