我有一个通过 FTP 协议复制文件的脚本。但在这里我的密码是可见的。是否有任何选项可以对此密码进行加密,以便任何人打开脚本时都看不到实际的密码?
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log="C:\path\log\WinSCP.log" /ini=nul ^
/command ^
"open ftpes://username:[email protected]/" ^
"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%
您会如何想象以一种脚本可以读取但其他人无法读取的方式对密码进行加密?这不可能。如果脚本可以读取它,那么任何人都可以(或者至少与运行脚本的本地帐户具有相同权限的任何人)。
不过,您可以使密码更难读取。例如,您可以将其存储到单独的文件中,并使用 Windows 文件加密对该文件进行加密,并使该文件只能由运行该脚本的本地帐户访问。
另请参阅 WinSCP 文章 保护用于自动化的凭据。