2013-05-08 104 views
1

我在我的腳本中有這個目錄路徑C:/服務器/ THE/BPS_DATA/THE_1,我需要檢索文件夾名稱,它是兩個以上的目錄。如何檢索給定目錄的文件夾名稱?

在我的例子,我需要提取值的

我想它的

my($datapath) = "c:/server/THE/BPS_DATA/THE_1"; 
print " datapath is: $datapath\n"; 

my($filename, $bpsPath, $suffix) = fileparse($datapath); 

這裏fileparse返回C:/服務器/的/ BPS_DATA/

任何意見?

+2

我沒有PERL的知識,所以我不會讓一個答案,但在大多數其他語言,我想我會用一個分裂的方式,獲得陣列中的所有文件夾細胞,然後放下最後2個細胞,並用剩下的東西重建路徑... – 2013-05-08 13:48:26

+1

@ikegami:對拼寫的挑剔讓我們沒有朋友。 – 2013-05-08 13:53:22

+1

@安迪萊斯特,這不應該是一個粗魯的口氣,但一個幽默的讀。 – ikegami 2013-05-08 13:54:50

回答

6
use Path::Class qw(dir); 
say dir('c:/server/THE/BPS_DATA/THE_1')->parent->parent; 

哦等等,我看到你只是想要「THE」?

use Path::Class qw(dir); 
say dir('c:/server/THE/BPS_DATA/THE_1')->parent->parent->basename; 

use Path::Class qw(dir); 
say((dir('c:/server/THE/BPS_DATA/THE_1')->dir_list)[-3]); 
+0

我認爲我的回答不完整。固定。 – ikegami 2013-05-08 21:18:28

相關問題