我正在学习Powershell,我正在制作一个小程序,每晚将一组文件上传到FTPS服务器。这些文件位于包含名称中日期的子目录中的网络共享上。文件本身都将以相同的字符串开头,让我们说" JONES _"。我有这个脚本适用于FTP,但我不能完全了解我需要做什么才能让它适用于FTPS:
public class ProxyApplication {
public static void main(String[] args) {
SpringApplication.run(ProxyApplication.class, args);
}
}
如果可能的话,我宁愿不必处理第三方软件解决方案。
答案 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循环中。