无法通过FTP脚本上传/下载文件

时间:2015-06-19 09:27:31

标签: batch-file download upload ftp

我有以下批处理文件,它创建一个FTP脚本来从服务器上传/下载文件。

但是我使用管理员权限运行它,但脚本只上传一个文件并且没有下载任何想法?

@echo off

echo user a6954408 >>ftpcmd.dat
echo renu123 >>ftpcmd.dat 
ECHO cd /public_html/ >>ftpcmd.dat
echo bin >>ftpcmd.dat
lcd C:\Users\User\AppData\Local\Temp >>ftpcmd.dat
echo get Auto_Update.exe >>ftpcmd.dat
echo get Log.txt >>ftpcmd.dat
echo put C:\Users\User\AppData\Local\Temp\Log.txt >>ftpcmd.dat

echo put C:\Users\User\AppData\Local\Temp\Dev.txt >>ftpcmd.dat

echo quit >>ftpcmd.dat


ftp -n -s:ftpcmd.dat chatterz.net78.net 


goto :run1
:run1
ftp -n -s:ftpcmd.dat chatterz.net78.net 


goto run1

更新时间:2015年6月19日,16:05

感谢您的帮助,但我仍然没有得到它..

Connected to chatterz.net78.net.
220---------- Welcome to Pure-FTPd [privsep] ----------
220-You are user number 12 of 500 allowed.
220-Local time is now 06:32. Server port: 21.
220-This is a private system - No anonymous login
220 You will be disconnected after 3 minutes of inactivity.
ftp> user a6954408
331 User a6954408 OK. Password required

230-OK. Current restricted directory is /
230-2 files used (0%) - authorized: 10000 files
230 6040 Kbytes used (0%) - authorized: 1536000 Kb
ftp> cd public_html
250 OK. Current directory is /public_html
ftp> bin
200 TYPE is now 8-bit binary
ftp> lcd C:\Users\User\AppData\Local\Temp
Local directory now C:\Users\User\AppData\Local\Temp.
ftp> get Auto_Update.exe
200 PORT command successful
550 Can't open Auto_Update.exe: No such file or directory
ftp> get Log.txt
200 PORT command successful
150 Connecting to port 53985
226 File successfully transferred
ftp> put Log.txt
200 PORT command successful
150 Connecting to port 53986
226 File successfully transferred
ftp> put Dev.txt
Dev.txt: File not found
ftp> quit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.
Press any key to continue . . .

文件仍未上传/下载,我知道该怎么办?

2 个答案:

答案 0 :(得分:0)

您的代码通常是正确的。

有两个问题,其中没有一个可能是您遇到问题的原因:

  • echo renu123 >>ftpcmd.dat - 您不应将密码留在密码后面,因为它是密码的一部分。
  • lcd C:\Users\User\AppData\Local\Temp >>ftpcmd.dat - 您在echo之前缺少lcd

当我运行您的代码时,它无法下载Auto_Update.exe,因为服务器上不存在该文件:

ftp> get Auto_Update.exe
200 PORT command successful
550 Can't open Auto_Update.exe: No such file or directory

上传两个文件(如果我在本地计算机上有这些文件)。因此,如果他们没有在您的计算机上上传,那是因为您没有将它们放在那条路径上。

根据您的输出日志,Log.txt已上传,但Dev.txt未上传,因为它不存在。

所以我认为没有什么可以帮助你的。只需确保您正在下载和上传的文件确实存在。

答案 1 :(得分:0)

(应该是评论,但是不可读)

这是给定ftp-server的目录:

ftp> dir
200 PORT command successful
150 Connecting to port 59225
drwxr-x---    2 a6954408   a6954408         4096 Jun 19 04:37 .
drwx--x--x    3 a6954408   a6954408         4096 Jun 19 07:06 ..
-rw-r--r--    1 a6954408   a6954408           91 Jun 13 11:29 .htaccess
-rw-r--r--    1 a6954408   a6954408        53760 Jun 17 07:37 Chatterz.exe
-rw-r--r--    1 a6954408   a6954408           24 Jun 19 07:15 Dev.txt
-rw----r-x    1 a6954408   a6954408          226 Jun 19 07:39 Log.txt
-rw-r--r--    1 a6954408   a6954408            3 Jun 17 03:32 Test.txt
226-Options: -a -l
226 7 matches total
FTP: 497 Bytes empfangen in 0.06Sekunden 8.28KB/s

当然,下载Auto_Update.exe会失败。它根本不在那里。 这就是你的日志所说的:

550 Can't open Auto_Update.exe: No such file or directory