如何使用Perl将文件从Unix目录复制到Windows目录?

时间:2019-07-03 11:17:27

标签: windows perl unix directory copy

我是Perl的新手,他试图将CSV文件从UNIX目录复制到Windows共享驱动器,而不使用FTP。

下面是我的代码,其中的源是UNIX目录中的CSV文件,而"C:/New folder"已创建为接收文件。我将新文件夹放在此处作为占位符,因为我没有弄清楚应该使用哪个共享驱动器。

use File::Copy;

sub TestCopyFile
{
    my $source = "/home/user/somefolder/somefile.csv";
    my $target = "C:/New folder";

    copy($source, $target);
}

因此,当我尝试从PuTTY运行此程序时,被告知成功。但是,我在目标文件夹中找不到该文件。

我的代码有什么问题吗?任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

确实不是一个问题。 Windows共享驱动器表示SMB。您需要将mount共享驱动器安装到本地文件系统树中。

示例:mount.cifs //the-workstation/the-share ~/mnt/the-workstation/the-share -o rw,vers=3.0,sec=ntlmssp,credentials=$HOME/.smbcredentials,cache=strict,uid=1000,forceuid,gid=100,forcegid,addr=172.xxx.xxx.xxx,file_mode=0644,dir_mode=0755,nounix,serverino,rsize=1048576,wsize=1048576,actimeo=1

如果一开始很难弄清楚,可以使用smb4k浏览网络。找到正确的共享后,它将告诉您适当的安装命令。