2012-06-22 61 views
1

我需要在MATLAB內使用UNC-Path。由於登錄憑據進一步需要和存儲在機器上是不是通緝,我正在尋找一個很好的方式來改變路徑。
目前,我認爲這個解決方案使用憑證UNC路徑的MATLAB

try 
    cd('\\192.168.175.128\shr'); 
catch 
    system('net use \\192.168.175.128\shr pwd /USER:netusr') 
    cd('\\192.168.175.128\shr'); 
end 

,但我在尋找更好的想法:也許有在MATLAB的集成功能,像cd_to_unc(path,usr,pwd)或其他集成的解決方案?我認爲,系統調用是一種無效的方式,不是嗎?
只是爲了明確 - 這不是一個安全相關的問題。我只是在尋找一種(或許)more efficient的方式來做這個裝載。

+0

您不喜歡它,因爲您的密碼以明文形式存儲在文件中?任何其他原因?說出你想要的改進。另外,我添加了Windows標籤,因爲這是作爲操作系統特定問題詢問的。 –

回答

0

MATLAB是一個通用的數學原型IDE(atleast)。我不相信它意味着你有能力尋找。在局域網上使用證書實現網絡訪問在大多數情況下是高度特定於平臺的,我將假設在MATLAB的「範圍之外」。

MATLAB具有創建大多數平臺無關的路徑字符串的標準實用程序。請參閱fullfilepathsepfilesep,fileparts等。但一件事是創建帶有路徑名的字符串 - 另一個是訪問這些路徑。我相信這總是依賴於底層操作系統。使用cdsystem可能是您唯一的選擇。

我假設你可以在驅動程序級別上解決這個問題,並使用內置憑證的特殊URI(anology將是URI中的FTP憑證,如RFC1738中所述)。安全性可能不太理想。如果像這樣的東西已經不存在,我會很驚訝 - 至少在linux上。

+0

事實上,你是對的,但我認爲,你錯過了一個細節:就我所知,UNC-Paths被映射到Windows和Linux中SMB/CIFS-mount,這些並不是平臺特定的。我只是在尋找一種「更完整的方式」來做到這一點。不管怎麼說,還是要謝謝你。 –

+0

謝謝奧萊 - 我標記了一些答案,如接受。我在stackexchange網絡上有其他帳戶,我有100%的接受率。但是在這裏,大多數答案都不夠好,讓我得到標記。但是,讓我們選擇他們說美容的原因。回到問題:你的觀點正確(+1)。 –