2013-01-23 95 views
-1

我在Perl中編寫了一個腳本來將圖像移動到可在PC上正常工作的網絡共享驅動器。當我嘗試在Mac上運行它時,我收到的都是錯誤消息。我無法弄清楚是什麼導致了這個問題。腳本無法在Mac上運行會有什麼原因嗎?我使用File :: Copy和File :: Find來移動這些文件。Perl腳本無法在Mac上工作

這是錯誤消息我得到:

複製失敗:在「腳本的位置」行沒有這樣的文件或目錄14

任何幫助將是巨大的。謝謝。 :)

use File::Copy; 
use File::Find; 
my @source = qw (source/location); 
my $target = q{//share/drive/location}; 

while (1) 
{ sleep (10); 
    find(
    sub { 
    if (-f) { 
     print "$File::Find::name -> $target"; 
     copy($File::Find::name, $target) 
     or die(q{copy failed:} . $!); 

     } 
     }, 
    @source 
    ); 

    } 
+1

我認爲「腳本的位置」是你在複製郵件時改變的,它實際上是說'/ path/to/your/script'? – Schwern

+1

我在想同樣的事情。是否可以在這裏發佈腳本或腳本的相關部分供其他人查看? – JakeGould

+0

我已經添加了腳本。如果我嘗試使用代碼在我放置在Mac桌面上的兩個文件夾之間進行復制,則代碼完美無缺。只是當我嘗試將代碼複製到共享驅動器位置時,它不起作用。當我在PC上運行此腳本時,它將複製到共享驅動器,而不是在Mac上。 – Nightzrain

回答

1

您的//share/drive/location在您的Mac上無效。這就是爲什麼你得到no such file or directory消息。

您可以在終端窗口中通過嘗試cd來測試該路徑。

該位置需要安裝在您的Mac上,以便您有一個有效的路徑。

如果您有較新版本的OSX,可以在您的Finder或通過mount_smbfs命令完成。

一旦完成,您將有一個可以寫入的路徑,例如/mnt/some/path

+0

謝謝。 :)這有幫助。我沒有太多使用Mac的經驗。 – Nightzrain

-1

好像錯誤解釋這一切:

copy failed:No such file or directory at "location of the script" line 14. 

是一種未加註釋評論 「的劇本的位置」?看起來像你的Perl解析器試圖解析一個值或變量被稱爲「腳本的位置」

3

你沒有提供任何代碼,所以我必須猜測,但我會說你正在複製的文件或您複製到的目錄不存在。

,你可能會有這樣的代碼就行14

copy($src, $dest) or die "copy failed:$!"; 

這將有助於如果你把$src$dest到錯誤消息,調試程序。

copy($src, $dest) or die "copying $src to $dest failed: $!";