0

我在 Perl 中编写了一个脚本来将图像移动到在 PC 上运行良好的网络共享驱动器。当我尝试在 Mac 上运行它时,我得到的只是错误消息。我无法弄清楚是什么导致了问题。脚本无法在 Mac 上运行是否有原因?我正在使用 File::Copy 和 File::Find 来移动这些文件。

这是我收到的错误消息:

复制失败:“脚本位置”第 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
   ); 

  }
4

3 回答 3

3

您没有提供任何代码,所以我不得不猜测,但我会说您正在复制的文件或您复制到的目录不存在。

你可能在第 14 行有这样的代码。

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

如果您放入错误消息$src,它将帮助您调试程序。$dest

copy($src, $dest) or die "copying $src to $dest failed: $!";
于 2013-01-23T18:25:32.337 回答
1

//share/drive/location在 Mac 上无效。这就是你收到 no such file or directory消息的原因。

您可以通过尝试cd访问该路径在终端窗口中对此进行测试。

该位置需要安装在您的 Mac 上,以便您有一个有效的路径。

这可以在您的Finder中完成,如果您有更新版本的 OSX,则可以通过mount_smbfs命令完成。

完成后,您将拥有可以写入的路径,例如/mnt/some/path.

于 2013-01-23T20:21:09.280 回答
-1

Seems like the error explains it all:

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

Is "location of the script" an uncommented comment? It seems like your Perl parser is trying parse a value or variable dubbed "location of the script"

于 2013-01-23T18:25:27.057 回答