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

如何对WinSCP FTP文件传输脚本中的密码进行加密?

如何加密WinSCP脚本中的FTP密码?

有两种可靠的方法可以避免WinSCP脚本中出现明文密码:

方法一:直接生成加密密码替换明文

WinSCP自带密码加密功能,可生成仅当前WinSCP版本能识别的加密密码,步骤如下:

  1. 打开WinSCP图形客户端,成功登录你的FTPS服务器(确保连接配置无误)。
  2. 点击顶部菜单栏「会话」→「生成会话URL/代码」。
  3. 在弹出窗口切换到「脚本」标签页,勾选「加密密码」选项,此时生成的open命令里的密码就是加密后的字符串。
  4. 把脚本中原有的open命令替换成这个带加密密码的版本即可。

修改后的脚本示例(替换xxxxxxxxxx为实际生成的加密密码):

@echo off

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="C:\path\log\WinSCP.log" /ini=nul ^
  /command ^
    "open ftpes://username:xxxxxxxxxx@ftpchannel.host.com/ -passive=on" ^
    "cd /" ^
    "lcd ""C:\path\Source_datafiles""" ^
    "get ALMR*" ^
    "cd /" ^
    "rename /ALMR* /archive/ALMR*" ^
    "exit"

set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
  echo Success
) else (
  echo Error
)

c:
cd "C:\path\Target_datafiles"
ren *.txt *.kis.txt

exit /b %WINSCP_RESULT%

方法二:使用存储的加密会话

把FTP会话配置保存到WinSCP的配置文件中(密码会自动加密存储),脚本直接调用会话名:

  1. 在WinSCP图形客户端中,配置好FTPS连接后点击「保存」,给会话起个名称(比如MyFTPServer)。
  2. 修改脚本中的open命令,直接使用会话名:open MyFTPServer。
  3. 注意去掉脚本中的/ini=nul参数(或者指定包含会话的配置文件路径,比如/ini="C:\Users\你的用户名\AppData\Roaming\WinSCP\WinSCP.ini")。

修改后的脚本示例:

@echo off

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="C:\path\log\WinSCP.log" ^
  /command ^
    "open MyFTPServer" ^
    "cd /" ^
    "lcd ""C:\path\Source_datafiles""" ^
    "get ALMR*" ^
    "cd /" ^
    "rename /ALMR* /archive/ALMR*" ^
    "exit"

set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
  echo Success
) else (
  echo Error
)

c:
cd "C:\path\Target_datafiles"
ren *.txt *.kis.txt

exit /b %WINSCP_RESULT%

注意事项

  • 加密后的密码和存储的会话仅对当前WinSCP版本有效,升级WinSCP后可能需要重新生成加密密码或重新保存会话。
  • 如果使用存储会话的方法,要确保WinSCP配置文件的权限设置正确,限制其他用户读取该文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:23:23