将Mac文件移动到Windows Server上的共享

我有一个旧的Mac服务器,我们的营销部门将其用作多个Mac客户端的文件服务器。 我想摆脱它有几个原因:

  1. 我们的主备份系统不支持Mac服务器
  2. 我们的AV解决scheme不支持Mac
  3. IT中没有Macpipe理员技能。
  4. 由于年龄和容量问题,服务器需要升级。

我想要做的是从Windows或HP-UX服务器提供共享。 但是现有的文件使用其他操作系统无效的字符。 我们可以编写脚本来重新命名它们,但是我们担心这些文件在内部与其他文件相关联,重命名文件会中断链接(想象一个链接到JPG的HTML文件,重命名JPG,链接是打破)

那么我们如何在保留链接的同时重命名这些文件呢? 有没有更好的办法?

Mac-Server是OS X Server 10.0,我不确定客户端,但他们更新(大约一两年)。

你说文件名有斜杠,而这些在Unix下很难支持。 但是Mac OS X Unix。 但是HFS使用冒号分隔目录而不是斜杠。 那么这怎么一起玩呢?

在我的SnowLeopard安装中,我可以在Finder中创build一个文件名中带有斜杠的文件。 当我从命令行查看该文件时,该斜线已经转换为冒号。 如果我在命令行上创build一个文件名包含冒号的文件,它会在Finder中转换成一个斜线。 我无法使用命令行中的斜杠创build文件名,Finder拒绝将冒号放在文件名中。

如果我在包含冒号的Unix Samba服务器上创build一个文件名,当查看我的SnowLeopard机器上安装的文件时,我变得疯狂。 文件“1:2.txt”转换为“14V9MB〜M.TXT”。 如果我从Mac上创build共享文件,冒号会变成三个不可打印的字节:0xEF,0x80,0xA2。 这似乎是U + F022的UTF-8编码,它在Unicode“私人使用区域”中,这意味着它不是普遍定义的。

如果我使用真正的Windows机器作为服务器进行相同的testing,我想我会得到类似的结果。 Windows不会让我在文件名中使用冒号或斜线。 如果我用Mac侧的冒号创build一个文件名,资源pipe理器会显示出在冒号位置没有任何可见字符的文件。 (即“1:2.txt”在资源pipe理器中显示为“12.txt”)。从命令行,一个dir显示我“1?2.txt”。 我怀疑它知道如何解释UTF-8编码,但不知道要为那个专用字符点显示什么。

我认为这一切都归结为:只要你能弄清楚如何把文件名中的斜线翻译成0xEF80A2就可以进行转换。 这显然是可testing的。

就在昨天,我有一个类似的问题,我需要将文件从我们的Mac服务器复制到Windows工作站,在那里我想尝试和处理它们。 在修复文件名(比如去掉正斜杠)之后,我确实发现内部链接在这个过程中被破坏了。 这变得如此混乱,我放弃了这个想法。

对于什么是值得的,如果你所使用的Mac服务器是文件服务器,并且不是公开的(安全性是另一回事),那么学习足够的Mac服务器基本知识并不难。 对于这个问题,至less你的Mac用户没有足够的pipe理技能来帮助那里? 在我看来,你想摆脱服务器面对什么似乎合理的原因,但准备有Mac客户端,你可以支持服务器没有更好的。 我错过了什么吗?

你在服务器上提到防病毒软件是一个问题,但是不要提及客户端。 对我的思维方式来说,它既需要兼顾也不要打扰。 如果你在客户端有东西,你不能在服务器上使用相同的东西吗? 我个人不会在Mac上使用它,只能在Windows上使用(这在将来可能会发生变化)。

如果这是一个相对较新的Mac机器,您可以通过NFS将共享挂载到Unix / Linux计算机上,并将文件复制到该计算机上,而不会有太多麻烦。 通过NFS安装,我能够将本地使用奇怪字符的办公室迁移到networking设置。 你也可以在任何现代Linux系统上使用HFS分区。

如果这是一个OS 9服务器,你可能会遇到一些麻烦 – 操作系统9本身不支持NFS,并在一些谷歌search后,我什至不能find一个项目,以支持阅读OS 9分区。