合法路徑是:@"S:\Personal Folders\UserA\test為什么Directory.Exists在下面的路徑上返回 True?@"S:\Personal Folders\UserA\\\\\\\\\\\\\\\\test甚至更多的斜線。PS:我用 進行了測試File.Move,它沒有將其識別為有效路徑。
1 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
帶有斜線的路徑仍然滿足絕對路徑標準。
根據文檔,
path 參數允許指定相對或絕對路徑信息。
編輯:路徑規(guī)范化參考
幾乎所有傳遞給 Windows API 的路徑都經過規(guī)范化。在規(guī)范化期間,Windows 執(zhí)行以下步驟:
標識路徑。
將當前目錄應用于部分限定(相對)路徑。
規(guī)范化組件和目錄分隔符。
評估相對目錄組件(. 代表當前目錄,.. 代表父目錄)。
修剪某些字符。
這種規(guī)范化是隱式發(fā)生的,但您可以通過調用 Path.GetFullPath 方法來顯式執(zhí)行此操作,該方法包裝了對 GetFullPathName() 函數的調用。您還可以使用 P/Invoke 直接調用 Windows GetFullPathName() 函數。
編輯
默認情況下,并非每個函數都會對路徑進行規(guī)范化。
File.Move
我自己給出了這條路徑的錯誤。
另一方面,
var parsedPath = Path.GetFullPath("S:\\Personal Folders\\UserA\\\\\\\\\\\\\\\\test"); File.Move(parsedPath, ...);
- 1 回答
- 0 關注
- 199 瀏覽
添加回答
舉報
0/150
提交
取消