2012-05-25 64 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'。 –