我需要在 MATLAB 中使用 UNC-Path。由于进一步需要登录凭据并且不需要存储在计算机上,因此我正在寻找一种更改为路径的好方法。
此刻我想到了这个解决方案
try
cd('\192.168.175.128shr');
catch
system('net use \192.168.175.128shr pwd /USER:netusr')
cd('\192.168.175.128shr');
end
但我正在寻找更好的想法:也许 matlab 中有一个集成功能,如 cd_to_unc(path,usr,pwd)
或其他集成解决方案?我认为,系统调用是一种无效的,不是吗?
只是为了澄清 - 这不是一个与安全相关的问题。我只是在寻找一种(也许)more efficient
方法来执行此操作。
MATLAB是一个通用的数学原型IDE(至少)。我不相信它意味着拥有你正在寻找的能力。在大多数情况下,在 LAN 上使用凭据实现网络访问是高度特定于平台的,我认为超出了 MATLAB 的"范围"。
MATLAB 具有用于创建路径字符串的标准实用程序,这些路径字符串大多与平台无关。请参阅完整文件、路径、文件ep、文件部件等。但是一件事是创建带有路径名的字符串 - 另一件事是访问这些路径。我相信这始终取决于底层操作系统。 使用cd
和system
可能是您唯一的选择。
我假设您可以在驱动程序级别解决此问题,并使用具有内置凭据的特殊 URI(解剖学将是 URI 中的 FTP 凭据,如 RFC1738 中所述)。安全性可能不太理想。如果这样的东西还不存在,我会感到惊讶——至少在 Linux 上是这样。