【问题标题】:Can't transfer files using FTP script and batch on Windows无法在 Windows 上使用 FTP 脚本和批处理传输文件
【发布时间】:2016-01-07 14:42:24
【问题描述】:

我在本地硬盘上有一个包含 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

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

看起来可以,但实际上没有上传任何文件。

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

总结: - 如果我使用 Windows 浏览并拖动文件,它工作正常。 - 如果我使用 cmd 命令或带有 ftp 文件的批处理脚本,它不会上传文件,即使控制台窗口显示 'File successfully transferred'

【问题讨论】:

  • 我在上面的 .bat 中看不到任何地方,您可以在其中执行“cd”来设置服务器上的目标目录。我打赌这些文件在服务器上,而不是在您期望它们所在的目录中。
  • 您是否尝试通过在 cmd 提示符下手动运行来执行所有命令。
  • 我从 cmd 手动尝试,它仍然没有上传文件..

标签: windows batch-file ftp


【解决方案1】:

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

console window display it "Current restricted directory is / "

【讨论】:

    【解决方案2】:

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

    步骤:

    1) 开启您的 IIS 服务器。 a:转到控制面板-->程序和功能-->打开或关闭windows功能-->Internet信息服务。 b:展开Internet信息服务-->勾选FTP服务-->展开FTP服务器-->FTP服务(勾选)-->确定。

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

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

    现在转到您的命令提示符并为 ftp 编写各自的代码,它将起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      相关资源
      最近更新 更多