【发布时间】:2016-01-05 15:12:28
【问题描述】:
我正在尝试创建一个将文件上传到 FTP 服务器的批处理文件。除了一个名称中有突变/元音的特定文件夹(无法更改。也就是文件夹名称里面有一个ö)之外,这一切都很好。
我的问题是:有哪些选择可以实现这一目标?
ftp 批处理文件示例(UTF-8 编码):
cd C:\uplaodfiles\ländle\*
ftp -n -s:C:\test\UploadTest.ftp
加载文件示例:
open meimei
user meiuser meipassword
pasv
bin
cd uploaddir
prompt
mput c:\uploadfiles\ländle\*
close
bye
在ftp 尝试将ä 转换为本地驱动器自然找不到的特殊字符之前,这一切都有效。
作为附加说明:我从命令行的c:\test 文件夹开始,因为UploadTest.bat 文件位于那里......即使我使用cd。因此,如果我使用不带参数的mput(或仅给出*),它仍然是c:\test,他会复制它。
编辑:
运行的输出(我删除了不重要的部分.....pasv 顺便说一句失败了。不知道为什么?之前已经展示过,所以我把那部分排除在外)。
ftp> BIN
200 Command okay.
ftp> cd uploaddir
250 CWD command successful.
ftp> prompt
Interaktivmodus AUS . <-- interactive mode off
ftp> mput C:\L├ñndle\* <-- should be Ländle
C:\Ländle\*:Datei nicht gefunden <-- file not found
ftp> close
221 Service closing control connection.
ftp> bye
由于其中有一部分是德语,我已经在必要时使用
进行了翻译【问题讨论】:
-
尝试“OPTS UTF8 ON”,以便 ftp 客户端和服务器同意使用 UTF-8 编码名称
-
这个特定的目标ftp服务器貌似不知道opts命令(刚试了一下,然后看命令列表)
-
tar/zip、ftp 和 untar/unzip 是一种选择,使用 Perl 或 Python ftp 模块是另一种选择
-
如果我连文件夹都进不去,tar/zip 会带来什么? (因为元音/突变)以及 lc 命令失败。
-
哦,好的,从那里转到带有突变和 tar/zip 的文件夹的父文件夹也不起作用?
标签: batch-file ftp