2011-09-30 78 views
2

我想從Windows命令提示符運行Matlab腳本,但有時我無法執行它。手動啓動時腳本運行良好。 Matlab版本是2011a,Windows是Server 2003 SP2。詳情:從Windows DOS提示符運行MATLAB腳本

腳本mytask.m位於內部說E:\Production\Project。這是Matlab的路徑上的SAVED

 `C:\Program Files\MATLAB\R2011a\bin>matlab -r mytask` 

如果你刪除它,並嘗試在其原來的位置來訪問它,該腳本不會盡管Matlab的運行:

當我把bin文件夾內mytask.m,它由指令執行罰款編輯窗口已推出:

 `C:\Program Files\MATLAB\R2011a\bin>matlab -r "E:\Production\Project\mytask" 

有什麼建議嗎?謝謝。

回答

4

syntaxmatlab -r

matlab -r "statement" 

換句話說,你需要提供一些可執行命令的語句。例如:

matlab -r "run E:\Production\Project\mytask" 

但是,似乎matlab不以這種方式加載自定義路徑。如果你有一些自定義的路徑,你可能必須在startup.m中定義它們,並將這個startup.m放在你調用matlab的目錄中。

我沒有檢查自己,但如果你在startup.m定義E:\Production\Project\的路徑,你大概可以毫無問題運行matlab -r mytask,爲mytask將被識別爲一個用戶函數/腳本。

startup.m

path(path, 'E:\Production\Project\'); 
+2

或者你可以簡單地做一個簡單的例子:'MATLAB -r 「讓addpath( 'E:\生產\項目'); mytask」' – Amro

+0

還有一個'MATLAB -sd '命令行選項在特定的目錄下啓動Matlab;您可以將它指向E:\ Production \ Project,然後路徑和相關文件名將被解析。 (不推薦使用,也可以在啓動前使用包裝腳本cd)。或者,您可以爲使用mfilename(' - fullpath')的mytask製作包裝腳本並添加路徑本身,以使命令行更簡單。 –