首页 > 解决方案 > 如何使用 Perl 将文件从 Unix 目录复制到 Windows 目录?

问题描述

我是 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 运行它时,我被告知它是成功的。但是,我在目标文件夹中找不到该文件。

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

标签: windowsperlunixdirectorycopy

解决方案


不是问题,真的。Windows 共享驱动器意味着SMB。您需要安装并将共享驱动器挂载到本地文件系统树中。

例子: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浏览网络。找到正确的共享后,它将告诉您安装的适当命令。


推荐阅读