如何在不使用txt文件的情况下使用bat文件来实现ftp功能?或者密码可以用txt文件加密?

时间:2017-08-04 19:27:14

标签: batch-file encryption ftp password-encryption

为了避免使用txt文件中显示的密码,我可以在没有txt文件的情况下实现ftp功能吗?

这样我就可以将加密的密码写为参数,并在bat文件中解密。

或者有任何解决方案可以在没有任何明确密码的情况下实现ftp功能吗?

由于安全规则,文件中没有任何明确的密码。 (即使这只是一个临时文件。)

所以在进程结束后删除txt文件无法解决问题。

我正在使用Windows FTP客户端 我目前的代码如下所示。

download.bat

ftp -s:ftp.txt

ftp.txt

open servername
account
password
mget filename
quit

8/5更新: 我已经编辑了bat文件,但它似乎无法登录到服务器:(
编辑过的bat文件:

download.bat

(
echo open localhost
echo username
echo password
echo ls
) | ftp -n

返回消息 530请先使用USER和PASS登录。

但是当我使用txt到ftp时它会起作用。

因此ftp服务器的状态正常,帐号/密码也正确。

有效!!

download.bat

(
echo open localhost
echo user username password
echo ls
) | ftp -n

2 个答案:

答案 0 :(得分:0)

您可以在标准输入中将密码提供给ftp.exe

(
echo open ftp.example.com
echo user username password
echo mget filename
echo quit
) | ftp -n

答案 1 :(得分:-1)

FTP就是这样但不安全的SUCH服务,网络中的任何人都可以嗅探您通过FTP主机发送的数据包和请求,如下所示。

Sniffing FTP Request

但是,如果您仍然想要使用FTP,那么下面的脚本会创建一个 ftp-exec-1.tmp ,它将由FTP命令执行,当它完成时,Batch将会从 Temp 文件夹中删除该文件。

@echo off
(
echo.o ftp.server.url
echo.user username password
echo.mget filename
echo.disconnect
echo.bye
) > %temp%\ftp-exec-1.tmp
timeout 2 > nul
ftp -i -s:%temp%\ftp-exec-1.tmp
del /F /Q %temp%\ftp-exec-1.tmp