2011-07-28 76 views
0

我在VMware Fusion虛擬機的工作,我需要訪問位於以下路徑下的文件:在Perl中打開文件時出現問題。

/Users/administrator/Documents/Virtual\\ Machines.localized/Win7_Pro_SP1_64.vmwarevm/Win7_Pro_SP1_64.vmx 

我使用Perl的命令:

open IN, "<","<above mentioned path>" 

,但它不工作。如果我將.vmx文件複製到.vmwarevm之外的另一個位置,則它可以工作。我有一種感覺,因爲.vmwarevm實際上是一個應用程序,默認情況下會打開VMware Fusion,即爲什麼perl命令無法打開它。

我不能複製和使用,所以是有辦法從這樣的路徑打開文件。我的操作系統是Mac OSX上

+0

目錄名稱中是否有文字反斜線? – geoffspear

+0

不,目錄名中沒有反斜槓,我將它作爲轉義字符添加到代碼中。 – SThomas

回答

1

你可以試試這個:

open my $in, '<', '/Users/administrator/Documents/Virtual Machines.localized/Win7_Pro_SP1_64.vmwarevm/Win7_Pro_SP1_64.vmx' 
    or die; 

如果只是Virtual Machines空間,沒必要逃避它。

+0

謝謝你,我實際上是使用上面的文件名字符串來調用vmx來運行操作,在給bash命令時需要'\'。但是,當我們給出路徑時,文件讀取結果爲'\',因此無需提供。 – SThomas

+0

@SThomas - 是的,shell需要轉義,以及[glob](http://perldoc.perl.org/functions/glob.html)函數。 – bvr