關於檔案路徑的反斜槓正斜槓和雙斜槓問題

2021-06-13 17:56:13 字數 1915 閱讀 5987

1

c檔案路徑為什麼要用雙斜槓

因為 \ 在 c/c++/c# 中是轉義前導字元,例如 \n 代表換行。

如果路徑中剛好有類似轉義字元開頭的,那麼就會引起問題,所以路徑中的 \ 必須用 \\ 的形式。

2 windows的路徑中表示檔案層級為什麼會用反斜槓「\」,而unix系統都用斜槓「/」?

windows 用反斜槓(「\」)的歷史來自 dos,而 dos 的另乙個傳統是用斜槓(「/」)表示命令行引數,比如:

cd %systemdrive%

dir /s /b shell32.dll

既然 dos 這邊斜槓被占用了,只好找乙個最接近的。那就是它了。而在 unix 環境中,我們用減號(「-」)和雙減號(「--」)表示命令行引數。

用斜槓表示命令行引數是相容性原因。這個問題最初起源自 ibm。ibm 在最初加入 dos 開發時貢獻了大批工具,它們都是用斜槓處理命令列引數的。而這個傳統源自於 dec/ibm,比如當年的 vms 就是用斜槓處理命令列引數,它的目錄分隔符是美元符(「$」)。順便說一句,這個傳統也被部分地繼承進了 dos 和 windows 體系,日文版的 windows 就把反斜槓在螢幕上顯示為「¥」,雖然實際上還是反斜槓。

如今的 windows 核心在處理路徑時確實可以同時支援斜槓和反斜槓。很多時候我們看到用斜槓時出錯,是因為應用程式層面的原因。比如 cmd.exe 就不支援用斜槓表示路徑,而powershell.exe 支援,也正因為這個原因,powershell 開始轉而使用減號作為命令列引數的起始符。

記憶

這裡有乙個巧記法:注意window這個單詞的第一筆,也就是字母w的第一筆,是什麼?沒錯,就是反斜槓,這樣每次在想windows檔案路徑中用/還是\的時候,首先要想到windows的第一筆是什麼,答案自然就出來了。作為windows的對立面,linux或unix檔案路徑中用的自然就是/ 了。

另外一些其他知識

相對路徑:相對路徑就是指由這個檔案所在的路徑引起的跟其它檔案(或資料夾)的路徑關係。使用相對路徑可以為我們帶來非常多的便利。下面舉例項詳解:

例如在本地硬碟有如下兩檔案,它們要互做超連結

g:\site\index.htm

g:\site\web\article\01.htm

index.htm要想鏈結到01.htm這個檔案,正確的鏈結應該是:鏈結文字,這是標準的相對路徑。

反過來,01.htm要想鏈結到index.htm這個檔案,在01.htm檔案裡面應該寫上這句:返回首頁。這裡的../表示向上一級。

至此,你已經了解相對路徑的概念了,就是這樣簡單明瞭。如果你還是沒有看明白,以前學過dos嗎?它的「cd資料夾名」和「cd..」命令用過嗎?這是同理的。

注意:相對路的資料夾符號是斜槓:/

鏈結文字這樣的鏈結,在href後面的第乙個斜槓表示根目錄,通常我們要特別慎用這種方式。

絕對路徑

在www中(廣域網),以http開頭的鏈結都是絕對路徑。

物理路徑?

\是檔案的路徑,如c:\windows\system\……

/是用在dos命令中加引數,dir——顯示磁碟目錄命令

1.功能:顯示磁碟目錄的內容。

2.型別:內部命令

3.格式:dir [碟符][路徑][/p][/w]

使用說明:/p的使用;當欲檢視的目錄太多,無法在一屏顯示完螢幕會一直往上捲,不容易看清,加上/p引數後,螢幕上會分面一次顯示23行的檔案資訊,然後暫停,並提示;press

any key to continue

/w的使用:加上/w只顯示檔名,至於檔案大小及建立的日期和時間則都省略。加上引數後,每行可以顯示五個檔名。

關於檔案路徑的正斜槓( )與反斜槓( )的總結

先總結 斜槓 常用 反斜槓 只有在windows系統中使用 因為 在 c c c 中是轉義前導字元,例如 n 代表換行。如果路徑中剛好有類似轉義字元開頭的,那麼就會引起問題,所以路徑中的 必須用 的形式。事實上是只有windows系統中用 其他的專案中,linux中都使用 這是歷史原因,不解釋.un...

路徑正反斜槓 路徑與反斜槓到正斜槓的路徑

我正在為一些同事製作乙個本地的xml檔案解析 應用程式 我正在使用當前的函式來檢索檔案 function showfolderfilelist folderspec var fso,f,f1,fc,s fso new activexobject scripting.filesystemobject ...

正斜槓 和反斜槓 的區別

我認真搜了一下,發現問這個問題的人還不少,知乎上也有提問的。來看看知乎的回答。問題 如何區分符號 和 的用法?某些回答 1 fenng 記住一件事情,除了在程式中,其它地方幾乎不需要用 應該就差不多了。btw,我最反感的一件事情就是應該用 的地方用了 也是用來鑑別乙個人是否足夠細心的乙個依據。2 n...