我正在尝试搜索用户桌面中的所有*.bak文件。我在用这个搜索他们。
string[] fNames = new DirectoryInfo(@"%homepath%\Desktop")
.GetFiles("*.bak")
.Select(x => x.Name)
.ToArray();
我的路径是@"%homepath%\Desktop"
(用户的桌面)
在调试时,我得到了一个System.IO.DirectoryNotFoundException
,检查了路径,我注意到了:
正如您所看到的,它试图将给定的路径(@"%homepath%\Desktop"
)附加到运行应用程序的路径。
我尝试过各种不同的路径格式,但总是一样的。
发布于 2021-11-11 16:47:05
在Windows上,%HOMEPATH%
不是(总是)你的用户配置文件所在的位置-例如,如果你的主文件夹是由AD重定向的,那么它将是它,而如果重定向是到不同的驱动器,你将需要%HOMEDRIVE%
。
如果要查找桌面文件夹,并且您使用的是Windows,则应使用
var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
所以你的代码应该是:
string[] fNames = new DirectoryInfo(desktopPath)
.GetFiles("*.bak")
.Select(x => x.Name)
.ToArray();
https://stackoverflow.com/questions/69936560
复制相似问题