使用perl调用coreftp应用程序

时间:2015-11-18 20:03:39

标签: perl

我正在尝试遍历一组文件并使用coreftp上传到FTP站点。我需要使用核心ftp,不能使用Net::SFTP或任何其他模块。

当我从CMD提示符运行此命令时,它运行正常,但正如您所见,它只适用于一个文件:

'"c:\program files\coreftp\coreftp.exe" -s -O -site My_Upload_Site -u //someserver/atextfile.txt -p /directory/'

我正在请求帮助将foreach循环变量与命令提示符组合在一起。如何调用CMD脚本并将"//someserver/atextfile.txt"替换为foreach循环中的$TheInputDir/$FileToUse

 foreach $FileToUse(@FilesToUse)  
    {
'"c:\program files\coreftp\coreftp.exe" -s -O -site My_Upload_Site -u //someserver/atextfile.txt -p /directory/'

#once uploaded move the file
    move ("$TheInputDir/$FileToUse", "$TheMoveDir/$FileToUse") or $MailMsg = $MailMsg . "ERROR: Moving files Failed! \n";

    }

如果有更好的方法,我总是乐于接受建议。

1 个答案:

答案 0 :(得分:-1)

我在PUTTY上取得了很大的成功,特别是PSCP。您可以在命令行上运行PSCP,对其进行测试并确保正确调用它。然后,在您的脚本中,使用system()或后退滴答,或者您想要的方式调用它。使用SCP或SFTP是否更好是一个有争议的问题,我不会偏袒任何一方。就我的目的而言,PSCP效果非常好。

不幸的是,我目前无法访问远程服务器,或者我会写一个脚本来说明它。它仍然易于使用且可靠。

下载:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

用法示例:pscp fred@example.com:/etc/hosts c:\temp\example-hosts.txt