You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WinSCP自动化脚本中跳过凭据输入提示?

问题描述

刚接触WinSCP和Windows任务计划程序,要实现连接外部FTP服务器并将内容复制到本地目录的自动化任务。运行计划任务时,WinSCP会弹出凭据输入提示:按回车提交空内容能正常完成文件复制,但无交互时会超时失败。希望完全自动化,取消凭据输入步骤,询问是否可通过脚本实现,相关配置如下:

相关配置

Windows任务计划程序触发动作

  • 动作:启动程序
  • 程序/脚本:C:\Users\furmand1\AppData\Local\Programs\WinSCP\WinSCP.com
  • 添加参数:/log="C:\Users\furmand1\Desktop\Log\winscp.log" /script="C:\Users\furmand1\Desktop\Script\Script.txt"

原WinSCP脚本

# Connect
open 10.201.47.178
# Change directory
lcd C:\Users\furmand1\Desktop\FTP
# Download file to the local directory
mget *.*
# Disconnect
close
# Exit WinSCP
exit

无交互时日志关键片段

. 2024-06-24 16:27:59.701 Username prompt (no username provided)
< 2024-06-24 16:27:59.701 Script: Prompting for credentials...
< 2024-06-24 16:28:52.057 Script: Connecting to 10.201.47.178 ...
...
< 2024-06-24 16:28:52.111 Script: Terminated by user.
. 2024-06-24 16:28:52.111 Script: Exit code: 1
解决方案

可以通过修改WinSCP脚本或启动参数实现自动化,核心是明确指定登录凭据(或空凭据)并禁用交互提示,以下两种方法任选:

方法1:在open命令中指定空用户名

由于你的FTP服务器接受空用户名登录,直接在open命令里显式指定空用户名,避免WinSCP弹出提示:

修改后的脚本:

# Connect with empty username
open ftp://@10.201.47.178
# Change directory
lcd C:\Users\furmand1\Desktop\FTP
# Download file to the local directory
mget *.*
# Disconnect
close
# Exit WinSCP
exit

解释:ftp://@10.201.47.178格式中,@前为空,代表使用空用户名登录,WinSCP会直接发送空的USER命令,无需交互。

方法2:添加无交互参数强制跳过提示

如果方法1不生效,可在WinSCP启动参数中添加/ini=nul和/noprompt,强制禁用配置读取和交互提示:

修改任务计划的参数

将原参数修改为:

/ini=nul /noprompt /log="C:\Users\furmand1\Desktop\Log\winscp.log" /script="C:\Users\furmand1\Desktop\Script\Script.txt"

脚本配合方法1的修改版

/ini=nul让WinSCP不读取本地配置,避免默认设置干扰;/noprompt强制不弹出任何交互提示,确保任务在后台自动运行。

验证

修改后手动运行任务计划中的任务,查看日志是否无Prompting for credentials...记录,且文件正常下载即可。

内容的提问来源于stack exchange,提问作者Fire7665

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:17:04