2

Matlab 函数 exists() 和 dir() 似乎忽略了符号链接。你能告诉我如何找出符号链接是否存在吗?

>> exist('./path/to/symlink', 'file') 

ans =

     0

>> size(dir('./path/to/symlink'),1) 

ans =

     0

编辑:这个问题实际上比仅仅检查存在更糟糕。通常的功能甚至不能按照符号链接来打开文件。尝试使用dlmread(), 例如返回“没有这样的文件或目录”错误。

编辑:现在我无法重现该问题。这一定是某种用户错误。

4

2 回答 2

6

你确定吗?它们在我的安装(ubuntu+R2012a)上工作得很好。

请注意,在 linux 中,路径名是区分大小写的,而在 Windows 上则不然!

ls您应该通过在终端中 -ing 来测试链接是否没有断开:

ls -l

并查看链接指向的文件是否也存在。

于 2012-12-09T20:27:28.207 回答
0

在 MATLAB 中,您可以使用

~isempty(dir(symLinkPath))  % Returns 0 if the symlink itself does not exist

检查符号链接本身是否存在(而不是它链接到的目标)。要检查符号链接目标是否存在,您可以使用

exist(symLinkPath)  % Returns 0 if target of symlink does not exist
于 2019-12-05T23:34:47.510 回答