无法在Windows上使用FTP脚本和批处理传输文件

时间:2016-01-07 14:42:24

标签: windows batch-file ftp

我在硬盘本地有一个包含PDF文件的文件夹,我想将这个文件夹中的文件上传到FTP服务器。

所以我创建了一个批处理文件,该文件应该将PDF文件上传到FTP服务器。一切似乎都运行良好,控制台窗口显示File successfully transferred,但实际上没有文件真正上传。

FTP脚本内容:

open
000.000.000.000  -- not the real ftp server ip lol 
bla@nirlatpro.com
PASSWORD
mput c:\Batch\*.pdf
quit

运行此脚本时带输出的命令窗口:

Lines output in console window on running the script

它看起来很有效,但实际上没有上传文件。

更奇怪的是,如果我使用GUI应用程序连接到FTP并拖动文件,它确实有效并且所有文件都上传到服务器。

摘要: - 如果我使用Windows浏览器并拖放文件,它的工作正常。 - 如果我使用cmd命令或批处理脚本与ftp文件,即使控制台窗口显示'File successfully transferred'

,也不会上传文件

2 个答案:

答案 0 :(得分:0)

这是权限问题 显然ftp服务器不允许将文件复制到根目录/

console window display it "Current restricted directory is / "

答案 1 :(得分:0)

我也遇到了类似的问题,通过命令行从ftp下载文件,但每次我的请求被拒绝,我的连接都没有建立。 经过深入研究后,我发现我需要在IIS中为ftp进行设置。

步骤:

1)启用IIS服务器。 a:转到控制面板 - >程序和功能 - >打开或关闭Windows功能 - > Internet信息服务。 b:展开Internet信息服务 - >检查FTP服务 - >展开FTP服务器 - > FTP服务(检查) - >按确定。

2)打开IIS管理器(win + r - > inetmgr) a:选择FTP身份验证 - >启用匿名身份验证或基本身份验证(根据您的要求)。 b:选择FTP授权 - >选择所有用户,授予权限(读取或写入或两者)&按好。 c)打开FTP目录浏览选择Windows服务器的MS-DOS或Unix服务器的Unix。

3)最后转到Services.msc(win + r - >'services.msc') - > MicrosoftFTPServices - > restart。

现在转到命令提示符并为ftp编写相应的代码它将起作用。