我尝试使用批处理文件通过FTP将平面文件加载到服务器中。我知道脚本,并且我能够将文件传输到服务器。目前我正在遵循以下方法。
@echo off
title File Transfer
color 3F
cd "C:\Users\username\Desktop\Access\"
echo -
echo - Transferring File to Server. Please be patient...
echo -
echo - Closing this window will Terminate the entire process
ftp -n -s:"C:\Users\username\Desktop\Access\ftp.txt" server_name >"C:\Users\username\Desktop\Access\ftp.log"
脚本文件代码:(ftp.txt
)
User Userid password
mkdir App
put "C:\Users\username\Desktop\Access\File.txt" "App/File.txt"
quit
我的要求是我不应该在脚本文件上显示用户名和密码。这些凭证信息动态来自变量,我动态生成此批处理文件和脚本文件。
请任何专家建议我解决方案,这对完成此要求更有意义。提前谢谢。
答案 0 :(得分:0)
您通常无法加密任何内容,同时仍允许自动解密。
参见例如BASH: allow users to FTP files to my server without revealing FTP login credentials to them
您通常可以做的就是对凭据进行模糊处理。但Windows ftp.exe
甚至不允许这样做。
使用ftp.exe
,您可以使用输入重定向来降低风险:
(
echo user %USERNAME% %PASSWORD%
echo mkdir ...
echo put ...
echo quit
) | ftp.exe -n example.com