Powershell中的FTPS上传

时间:2016-07-07 21:30:04

标签: powershell ftps

我正在学习Powershell,我正在制作一个小程序,每晚将一组文件上传到FTPS服务器。这些文件位于包含名称中日期的子目录中的网络共享上。文件本身都将以相同的字符串开头,让我们说" JONES _"。我有这个脚本适用于FTP,但我不能完全了解我需要做什么才能让它适用于FTPS:

public class ProxyApplication {

    public static void main(String[] args) {
        SpringApplication.run(ProxyApplication.class, args);
    }
}

如果可能的话,我宁愿不必处理第三方软件解决方案。

2 个答案:

答案 0 :(得分:1)

我不确定您是否会将其视为“第三方软件”,但您可以在Powershell中运行PSFTP。以下是您可以执行此操作的示例(source):

$outfile=$YesterdayFolder"\Report\"$item.Name
"rm $outfile`nput $outfile`nbye" | out-file batch.psftp -force -Encoding ASCII

$user = "USERNAME"
$pass = "PASSWORD"

&.\psftp.exe  -l $user -pw $pass  $ftp -b batch.psftp -be

答案 1 :(得分:1)

使用psftp对我不起作用。我无法通过SSL连接到FTP。我最终(不情愿地?)使用WinSCP使用此代码:

$PutCommand = '& "C:\Program Files (x86)\WinSCP\winscp.com" /command "open ftp://USER:PASS@ftps.hostname.com:21/directory/ -explicitssl" "put """"' + $Item.FullName + '""""" "exit"' 
Invoke-Expression $PutCommand 

在foreach循环中。