来自具有国际字符/突变/元音 (ä. ö. ü) 文件夹的 FTP 文件与 Windows FTP 批处理文件

Tho*_*mas 5 ftp batch-file

我正在尝试创建一个将文件上传到 FTP 服务器的批处理文件。一切正常,除了一个特定文件夹的名称中包含突变/元音(无法更改。也就是文件夹名称有一个ö内部。)。

我的问题是:有哪些选择可以实现这一目标?

ftp批处理文件示例(UTF-8 编码):

cd C:\uplaodfiles\ländle\*
ftp -n -s:C:\test\UploadTest.ftp
Run Code Online (Sandbox Code Playgroud)

加载文件示例:

open meimei
user meiuser meipassword
pasv
bin
cd uploaddir
prompt
mput c:\uploadfiles\ländle\*
close
bye
Run Code Online (Sandbox Code Playgroud)

它所有的工作,直到mput在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
Run Code Online (Sandbox Code Playgroud)

由于其中有一部分是德语,因此我在必要时使用 <-- 进行了翻译

Mar*_*ryl 3

它有效,只要UploadTest.ftp是

\n\n
    \n
  • 采用 UTF-8 编码(带或不带 BOM)\xe2\x80\x93 仅适用于 Windows 10(未测试 Windows 8)
  • \n
  • 采用与 Windows “非 Unicode 程序语言”匹配的 ANSI 编码,并且文件名中的字符包含在 ANSI 编码 \xe2\x80\x93 Windows 7 和 10 中
  • \n
\n\n

批处理文件中的 UTF-8 似乎不受支持(在 Windows 7 和 Windows 10 中)。所以你不能在那里做cd(除非使用默认的旧 ANSI 编码)。

\n\n
\n\n

如果您需要适用于 Windows 7 的 UTF-8 解决方案,您可能必须使用另一个 FTP 客户端。

\n\n

例如使用WinSCP 脚本:

\n\n\n\n

请参阅将 Windows FTP 脚本转换为 WinSCP 脚本的指南。

\n\n

(我是WinSCP的作者)

\n