2014-10-27 103 views
1

如何在Matlab中縮短一個文件夾路徑的長度?如何在Matlab中縮短一個文件夾路徑的長度?

即我想要一個目錄。

比如我有「C:/ MYDIR /資料夾/文件夾2」我想「C:/ MYDIR /文件夾1」

+0

什麼問題用「..」附加它? 'fullfile(currFolder,'..')'? – Shai 2014-10-27 15:50:55

+0

@你試過了嗎?它至少在R2012a中不起作用,只是將「..」添加到路徑 – mrgloom 2014-10-27 16:46:42

+0

的末尾。但它指向父目錄,是不是你想要的? ''c:/ parent/curr/..'指向與'c:/ parent''相同的文件夾... – Shai 2014-10-27 17:24:34

回答

3

如果你有一個字符串的文件夾路徑,您可以使用函數fileparts

currentFolder = pwd; 
parentFolder = fileparts(currentFolder); 

注意,如果文件夾路徑字符串的文件分隔符(即'/''\')結束,這將無法正常工作。

如果你只是想改變當前工作目錄的父目錄,使用cd

cd .. 
% or 
cd('..') 
+0

fileparts起作用,但我認爲它將文件從路徑中分離出來。 – mrgloom 2014-10-27 16:52:16

+1

@mrgloom:如果沒有指定文件,並且最後一個字符不是文件分隔符,它將刪除結尾的文件夾。 – gnovice 2014-10-27 16:57:44

2

我們也可以使用Java內置功能:

char(java.io.File(pwd).getParent()) 

Apache Commons IO庫用MATLAB發貨:

char(org.apache.commons.io.FilenameUtils.getFullPath(pwd)) 
+1

char(java.io.File(pwd).getParent())的作品。 – mrgloom 2014-10-27 16:54:23

+0

當人們問我爲什麼會發現Matlab是一個高價的垃圾堆時,我會引導他們回答​​這個問題。 @Amro,謝謝你的回答! :) – blz 2015-01-18 17:56:54