我正在嘗試搜索用戶桌面中的所有 *.bak 檔案。我正在使用它來搜索它們。
string[] fNames = new DirectoryInfo(@"%homepath%\Desktop")
.GetFiles("*.bak")
.Select(x => x.Name)
.ToArray();
我的路徑是@"%homepath%\Desktop"(用戶的桌面)
在除錯時,我得到了一個System.IO.DirectoryNotFoundException,檢查路徑,我注意到了這一點:

如您所見,它試圖將給定的路徑 ( @"%homepath%\Desktop")附加到運行應用程式的路徑。
我已經嘗試了各種不同的路徑格式并且總是相同的。
uj5u.com熱心網友回復:
在 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://www.uj5u.com/qukuanlian/356567.html
標籤:C#
