在批处理脚本上加密用户名和密码

时间:2015-12-08 15:02:35

标签: batch-file ftp

我尝试使用批处理文件通过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

我的要求是我不应该在脚本文件上显示用户名和密码。这些凭证信息动态来自变量,我动态生成此批处理文件和脚本文件。

请任何专家建议我解决方案,这对完成此要求更有意义。提前谢谢。

1 个答案:

答案 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