2012-05-25 101 views
3

我正在運行一個MATLAB項目,它由多個用戶共享,一些正在運行Windows,一些正在運行Linux。MATLAB解析特定於操作系統的路徑

在一些腳本中,我需要訪問位於外部目錄中的文件,而我不想將其添加到MATLAB路徑中。爲了適應Linux和Windows,我需要能夠確定我正在運行的操作系統的類型,並相應地設置目錄分隔符('\'爲Windows,'/'爲Linux)。

我試圖

os = getenv('OS') 

(這是我在一些官方指南所看到的),但它返回一個空字符串。

我可以檢查'pwd'的第一個字符,但這非常難看,我希望應該有一些更簡單的東西。

感謝您的任何建議!

回答

6

要使用正確的目錄分隔符,您不需要編寫代碼來處理不同的操作系統。 filesep爲您提供了正確的目錄分隔符。

My1stDir = 'Year2012'; 
My2ndDir = 'Feb'; 
My3rdDir = 'Day03'; 

MyDir = [ 'mydata', filesep, My1stDir, filesep, My2ndDir, filesep, My3rdDir ]; 

在Linux中,你會得到:

MyDir = 
    mydata/Year2012/Feb/Day03 

在Windows中,你會得到:

MyDir = 
    mydata\Year2012\Feb\Day03 
+6

您不妨看看'fullfile' – KitsuneYMG

+1

和'fileparts'。 –