2012-08-27 122 views
3

我正在使用dir函數來列出文件夾的內容,但它爲前兩個文件夾提供...。有沒有什麼辦法可以獲得這個愚蠢的過程杆。在Matlab中使用dir函數 - 如何擺脫`.`和`..`

我可以在dir函數中使用正則表達式嗎? (如果我可以,也可以是一個解決方案)

回答

6

我不知道任何內置的解決方案,但我傾向於做到以下幾點:

d = dir ('C:\'); 
d(~[d.isdir])= []; %Remove all non directories. 
names = setdiff({d.name},{'.','..'}); 

setdiff命令刪除不需要的元素。


另一種廉價的方式是使用通配符擺脫...(僅Windows):

d = dir ('C:\*.*'); 
4

這個怎麼樣

list = dir('/var/temp'); 
list = list(3:end,:); 

那是當然的假設前兩個項目確實是...這可能不是對所有操作系統的情況下

+3

前兩項是Mac,Linux和Windows上的'.'和'..'。 – Jonas