我被要求对以下问题提供意见。
大约有 100 多人正在访问深层目录结构中的文件。客户端都是 Windows XP。我不确定服务器端,但它可能是 Windows Server 2003。
随着时间的推移,这种结构已经有些腐朽,需要彻底改革。计划是在顶级目录下创建一个目录“ZZ_Old”,将所有现有的 (top+1) 级目录移至该目录,然后逐渐将其中的内容移出顶级目录下的新结构。
问题在于目录结构太深,以至于某些文件路径超过 260 个字符。可以使用网络驱动器来处理这个问题,但对于个人而言,没有任何东西是集中管理的。换句话说,不同的人有不同的驱动器号,在整体结构中安装不同的目录。
迁移到 ZZ_Old 会破坏所有这些网络驱动器,但用户需要能够在过渡阶段访问旧结构,因为他们将负责将旧内容迁移到新结构。遗憾的是,不能指望单个用户能够手动重新创建必要的驱动器映射。
所以我的问题是:解决这个问题的最佳方法是什么?
是否可以编写一个脚本来检查所有当前网络驱动器并识别那些挂载点会受到移动到 ZZ_Old 影响的驱动器?
是否可以创建一个脚本来重建驱动器映射,以便下次重新连接驱动器时,它将使用包含 ZZ_Old 的更新路径?
我尝试查看 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer 下的注册表,但其中似乎仅包含部分(而不是全部)当前驱动器映射。
我是否应该建议放弃将整个内容转移到 ZZ_Old 然后逐渐转移的想法?如果是这样,有什么更好的策略?
欢迎提出任何建议,从“重新开始并重新思考”到“这是为您完成所有事情的脚本”。
答案1
- 根据需要同意的任何人的要求创建新的目录结构,并将标准驱动器号映射到每个人的新目录结构。
告诉用户根据达成的协议将他们的资料移到新的目录结构中。
2a. 如果他们有很多东西要移动,他们可能会更轻松地告诉您直接在服务器上移动,因为他们会通过网络移动文件,这对他们来说会花费更长的时间,但对您来说会更快,因为您拥有服务器的管理员权限。如果完全移动到新服务器,那么这不会有太大影响。
- 告诉他们必须在 x 日期之前完成迁移,之后旧目录结构的访问权限将被删除,他们将无法再访问旧文件。还告诉他们旧文件将在 x 日期之后被删除,但实际上不会删除它们。
- 在 x 日期过去后,对旧结构进行完整备份并保留一段时间,因为您可以打赌有些用户会说“哦,我忘了移动 xyz 文件/文件夹,而我需要它。”然后,如果您仍在运行旧结构,您可以自己从旧结构中移动文件,或者如果您出于某种原因必须将其删除,则可以从备份中恢复它们。
由于您似乎担心会覆盖他们现有的临时网络驱动器,因此只需向他们说明新驱动器将是 G、H、I 或其他,并且他们现有的网络驱动器号将在 x 日期被覆盖(不一定是与上述相同的 x 日期,但在此之前的某个时间)。由于他们首先自己映射了驱动器,因此他们应该知道如何重新映射它们。如果不知道如何重新映射,只需告诉他们,如果他们有任何疑虑,请向您寻求帮助。