AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 27612
In Process
Nathan Long
Nathan Long
Asked: 2009-06-18 12:33:48 +0800 CST2009-06-18 12:33:48 +0800 CST 2009-06-18 12:33:48 +0800 CST

为什么我的 FTP 输出文件是空白的?

  • 772

在 Windows 命令提示符下,我通过 FTPd 连接到 Windows Web 服务器。我可以get一个文件,我可以看到一个目录列表dir,但我想在本地保存该列表。

我试过了dir > c:\somefile.txt,文件被创建了,但它是空白的。如果我这样做也是一样ls > c:\somefile.txt。

当我从 Linux 机器上 FTP 时,结果是一样的。

FTP 发回以下内容:

200 PORT 命令成功
150 打开 /bin/ls 的 ASCII 模式数据连接
226 传输完成
ftp
  • 8 8 个回答
  • 16870 Views

8 个回答

  • Voted
  1. Igal Serban
    2009-06-18T13:12:40+08:002009-06-18T13:12:40+08:00

    这可能是因为 FTP.exe 控制了 shell。因此,由 cmd.exe 处理的重定向无效。

    您可以做的是使用 -s:filename 选项并将整个 ftp 输出重定向到文件。它将包含比您想要的更多的内容,但您可以稍后处理。

    或者,也许,寻找具有此功能的其他 ftp 客户端(我不知道有任何功能)。

    • 2
  2. nray
    2009-07-16T22:32:43+08:002009-07-16T22:32:43+08:00

    Igal Serban 的回答是正确的。尝试这个,

    ftp -s:ftp.txt > ftp.log 2>&1
    

    其中ftp.txt是一个脚本,只是一个命令列表,例如,

    help
    pwd
    quit
    

    ftp.log将捕获输出。添加2>&1意味着您捕获标准输出(正常输出)和标准错误(来自ftp.exe的任何错误消息)。

    • 2
  3. Martin Bøgelund
    2009-07-16T22:40:55+08:002009-07-16T22:40:55+08:00

    您可以通过执行以下操作将目录列表放入本地文件:

    dir [remote-directory] [local-file]
    

    在您的情况下,命令将是

    dir . c:\somefile.txt
    

    它不回答为什么的问题,而是完成你想要做的事情。

    • 1
  4. Harish Dachdeva
    2016-02-04T10:18:31+08:002016-02-04T10:18:31+08:00

    最简单的方法是打开计算机文件夹,您可以在其中看到所有驱动器。在这里您需要为 ftp 服务器创建一个快捷方式。为此,请在计算机文件夹中的空白空间上单击鼠标右键并单击“添加网络位置”,然后单击它并按照提示为您的网络 ftp 服务器创建快捷方式。如果您有密码或匿名,请这样做。你也可以给它一个名字。它将出现在计算机文件夹的网络位置中。现在双击它。要打开>查看、阅读或播放和编辑文件夹或其文件,您需要拖动>复制或将其移动到桌面。完成后,您可以将其移回。这有点麻烦,但对我有用。希望对大家有帮助!

    • 1
  5. user193597
    2016-02-04T11:43:57+08:002016-02-04T11:43:57+08:00

    Martin Bøgelund 回答的附录:

    为什么问题(我假设是“为什么最初的尝试做了它所做的事情”)很有趣,而且当你以正确的方式思考它时很简单:它是相同的dir [remote-directory] [local-file]语法,远程目录恰好位于>. ftp 客户端不是外壳。键入的命令不是 shell 命令。它没有重定向运算符,>也不是特殊字符。

    是的,只要您不在 Windows 上运行它,您就可以在 FTP 服务器上拥有一个名为的目录。>

    在ftp.exeWindows 中找到的是早期 BSD ftp 的副本。它不知道 Windows 文件名限制。如果您告诉它,get remotefile >它将尝试将远程文件的副本保存为名为的本地文件>,并且由于本地文件系统的限制而失败。

    造成这里混乱的一个主要原因是 FTP 服务器在接收到作为参数的LIST命令时>,以成功代码和空的回复正文作为响应,而不是说“没有这样的文件”。

    • 1
  6. Matt Simmons
    2009-06-18T13:14:16+08:002009-06-18T13:14:16+08:00

    这并不能真正回答问题,但您是否考虑过编写脚本来执行此操作,然后重定向脚本的输出?

    http://support.microsoft.com/kb/96269

    • 0
  7. raerek
    2009-07-02T21:57:02+08:002009-07-02T21:57:02+08:00

    可能 ftp 服务器进程没有写入 c: 的权限。尝试 c:\somedir\somefile.txt 代替

    • 0
  8. Bipin Bahuguna
    2011-04-16T07:02:45+08:002011-04-16T07:02:45+08:00
    #!/bin/bash -vx
    ftp -in bahugunazxc.com>>END_SCRIPT
    quote USER bipin
    quote PASS acs123
    bin
    prompt off
    cd wbc/webr >>>
    ls
    END_SCRIPT
    

    保存此文件。例如,我将其保存为dp.sh. 之后运行命令:

    ./dp.sh > ftp.log
    
    • 0

相关问题

  • 从服务器复制到服务器

  • 无法删除或编辑 ProFTPD 服务器上的文件

  • 如何在 Windows 中将 FTP 挂载到驱动器号?

  • 为什么我无法从我的win2008 NAT 后面连接到某些ftp 服务器?

  • 用于 Windows Server 的 FTP 服务?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve