如何将文件从 VMS 复制到 Windows,然后再复制回来?

Mat*_*att 4 ftp vms

我正在尝试将C源文件从 vms alpha复制到 Windows 机器,以便更轻松地编辑代码。(VMS 编辑器只是一个文本编辑器,如果有语法高亮等功能会很好)

我可以使用 Exceed FTP 复制它,这可以处理带有 vms 版本后缀的重复文件名的问题:

  • 文件.c;1
  • 文件.c;2
  • Flle.c;3

但是当我打开一个我传输的文件时,所有的换行符都丢失了,整个文件只有一行。

任何人都可以为此推荐解决方案或提供任何提示吗?

提前致谢

附:我需要能够将文件复制回 vms 并仍然保持格式。

小智 5

现在可能已经不感兴趣了,但以防万一您仍然对 FTP 传输后的“一行”文本文件感到疑惑。

简短的回答:在您的 FTP 客户端中强制 FTP 传输模式为 ASCII(或文本)。这将确保您传输的 C 文件(实际上是所有文件)被视为文本,否则它们被假定为二进制文件,因此您将获得一个字节流。

长答案:有 2 种 FTP 传输模式:ASCII/文本和二进制/图像。默认值有时是客户端或特定于服务器的。

许多客户端具有自动模式,可以解释文件扩展名以设置正确的传输模式(.TXT、.CSV 等)

当您通过 FTP 客户端访问 VMS 服务器时,[Win-based] 客户端通常不是 VMS 友好的,因此它不能正确解析文件列表。因此,它会被附加到“通常”文件名的版本号混淆:filename.ext;ver ==> file.c;1

因此,它没有看到 .C(并假设为文本),而是看到 .C;1 并认为它是二进制的。

我使用 Filezilla FTP 客户端与 VMS 之间的往来,到目前为止它运行正常(尽管版本支持有时不像我想要的那样)。