我是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运行此程序时,被告知成功。但是,我在目标文件夹中找不到该文件。
我的代码有什么问题吗?任何建议表示赞赏。
答案 0 :(得分:1)
确实不是一个perl问题。 Windows共享驱动器表示SMB。您需要将samba和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浏览网络。找到正确的共享后,它将告诉您适当的安装命令。