Как скопировать файл из каталога Unix в каталог Windows, используя Perl? - PullRequest
0 голосов
/ 03 июля 2019

Я новичок в Perl и пытаюсь скопировать файл CSV из каталога UNIX на общий диск Windows без использования FTP.

Ниже приведен мой код, в котором источником является файл CSV в каталоге UNIX, в то время как "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 Ответ

1 голос
/ 03 июля 2019

Не вопрос , правда.Общий диск 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 .Как только вы найдете правильный общий ресурс, он сообщит вам соответствующую команду для монтирования.

...