我正在尝试将C
源文件从vms alpha复制到Windows机器,以便更轻松地编辑代码。 (VMS编辑器只是一个文本编辑器,有语法高亮等等很好)
我可以使用Exceed FTP复制它,这可以解决vms具有的版本后缀的重复文件名问题:
但是当我打开一个我转移过的文件时,所有的换行符都丢失了,整个文件只有一行。
有人可以推荐一个解决方案或提供任何提示吗?
提前致谢
PS。我需要能够将文件复制回vms并仍然保持格式。
答案 0 :(得分:4)
现在可能不感兴趣,但万一你仍然想知道FTP传输后的“单行”文本文件。
简答:在FTP客户端强制FTP传输模式为ASCII(或文本)。这将确保您传输的C文件(在所有文件中)被视为文本,否则它们被假定为二进制文件,因此您将得到一个字节流。
答案很长:有两种FTP传输模式:ASCII /文本和二进制/图像。默认值有时是明确的或服务器特定的。
许多客户端都有自动模式,解释文件扩展名以设置正确的传输模式(.TXT,.CSV等..)
当您通过FTP客户端访问VMS服务器时,[基于Win的]客户端通常不是VMS友好的,因此它不会正确解析文件列表。因此,它会被附加到“通常”文件名的版本号混淆: filename.ext; ver ==> file.c; 1
因此,它不会看到.C(并假设文本),而是看到.C; 1并认为它是二进制的。
我在VMS上使用Filezilla FTP客户端,到目前为止它已正确使用(虽然版本支持不像我有时喜欢的那样)。
答案 1 :(得分:2)
每次要编辑时,在Windows桌面上复制文件都会很快变旧。
您可以实现更好的替代方案。 VMS下有一些软件允许在Windows下将VMS目录树视为“网络磁盘”。设置完成后,设置窗口以识别网络磁盘,只需使用Windows文本编辑器打开文件,而无需将其从VMS移动到Windows。您还可以浏览目录树,它看起来像一个文件夹树。
当您从文本编辑器发出保存时,保存的副本将取代VMS域中的先前版本。它在RMS格式和嵌入式换行格式之间正确调解。为此,它比FTP更方便。
在快速进行Google搜索后,我认为VMS软件的名称是PATHWORKS。但我不确定。
答案 2 :(得分:2)
我对此有几点
PATHWORKS相当陈旧(据我记得 - 我不使用它)与最新的Windows版本不兼容,例如支持Active Directory。在过去的几年里,惠普已经将SAMBA移植到VMS,如果你想让Windows机器的磁盘区域可见,这就是你要走的路。应该很容易在惠普网站上找到。
如果您想尝试FTP / SFTP路由,我会尝试SFTP并选择至少8.2的VMS版本。此时,TCPIP套件被重写(或从Unix版本报告)。
VMS支持多种文本文件格式。除了上面描述的复杂记录结构外,STREAM_LF与unix文件相同,STREAM_CRLF
答案 3 :(得分:1)
我找到了一些关于OpenVMS text file structure的有趣信息。这与我对VMS如何处理文本文件的模糊记忆相对应;它们不是像Windows和Unix系统那样存储为字节流,而是存储为一系列记录(每条记录都是文本行)。记录可以是固定宽度或可变宽度。无论读取文件是什么导致“纸张控制”,我们通常称之为换行符。
您可以检查Exceed FTP中的选项,以确保以适当的ASCII模式传输文件。您可能需要在FTP 服务器上设置特殊选项,以便以适当的模式读取和写入文件。
答案 4 :(得分:1)
我不是专家 - 让我们把它拿出来并公开;)
我在从OVMS Alphaserver到Win7桌面的FTP文件中遇到过类似的问题,所以我可以迁移到SQL。 FTP [Attachmate& WIn CLI]在WinNT下运行良好。 我怀疑Win7不喜欢name.ext; OVMS文件的版本格式。
Filezilla - 无效。
PuTTY - 无效
Window CLI FTP - 不起作用[部分文件传输;超时&截断文件]。
使用Attachmate的“Web 2011的思考”来模拟Vax终端 - 工作正常。 我想我必须回到Attachmate寻求帮助,但我们的[澳大利亚联邦政府] IT服务部分地陷入困境,这些服务有最后的发言权
答案 5 :(得分:0)
某些编辑器(如Mac上的BBEdit)支持通过FTP / SFTP /等直接打开/保存文件。 (BBEdit还支持在不同平台上使用的各种不同的行结尾,这将有助于解决您的其他问题)。我希望必须有一个具有类似功能的Windows编辑器 - 我使用Windows的同事都对CodeWrite(或CodeWright?)这些东西赞不绝口,所以我想我会看看类似的东西。