将文件或文件夹移至另一个文件系统

每个文件系统都有它自己独特的特征。但是,将对象移至另一个文件系统可能表示会失去当前用于存储这些对象的文件系统的优势。您可能想要将对象从一个文件系统移至另一个文件系统以利用这些特征。

将对象移至另一个文件系统之前,您应该熟悉集成文件系统上的文件系统及其特征。

您还应该考虑下列情况:

  • 您正在使用的应用程序使用对象当前所在文件系统的优点吗?

    某些文件系统支持不属于集成文件系统支持的界面。使用这些界面的应用程序可能不再能够访问已移至另一个文件系统的对象。例如,QDLS 和 QOPT 文件系统支持使用分层文件系统 (HFS) API 和命令来处理文档和文件夹对象。您无法对位于其他文件系统中的对象使用这些接口。

  • 对象的哪些特征对您很重要?

    并非所有文件系统都支持所有特征。例如,QSYS.LIB 文件系统或者独立 ASP QSYS.LIB 文件系统仅支持存储和检索少量的扩展属性,而“根”(/) 文件系统和 QOpenSys 文件系统支持存储和检索所有扩展属性。因此,对于存储具有扩展属性的对象而言,QSYS.LIB 和独立 ASP QSYS.LIB 并不是良好候选者。

    存储在 QDLS 中的 PC 文件是用于移动的理想候选者。大多数 PC 应用程序应当能够继续处理从 QDLS 移至其他文件系统的 PC 文件。“根”(/) 文件系统、QOpenSys 文件系统和 QNTC 文件系统是用于存储这些 PC 文件的良好选择。

System i® 导航器中,可以通过将对象拖到新位置来将文件或文件夹移至另一个文件系统。您还可以使用“复制并粘贴”或者“剪切并粘贴”功能来完成此任务。

要使用 CL 命令将对象移至另一个文件系统,请执行下列步骤:

  1. 保存您计划移动的所有对象的副本。

    如果您发现应用程序无法访问已将对象移至的文件系统中的对象,那么具有备份副本就使您能够将对象恢复到原始文件系统。

    注: 您无法从一个文件系统中保存对象,然后将这些对象恢复到另一个文件系统。
  2. 使用“创建目录”(CRTDIR) 命令在文件系统中创建您想要将对象移至的目录。

    您应当仔细检查这些对象当前所在目录的属性,以确定是否要复制您创建的目录上的那些属性。例如,创建该目录的用户就是其所有者,而不是拥有旧目录的用户。在创建目录之后,如果文件系统支持设置目录的所有者,那么您可能想要转移该目录的所有权。

  3. 使用“移动对象”(MOV) 命令将文件移至您已选择的文件系统。

    建议使用 MOV,这是因为如果文件系统支持设置对象的所有权,那么此命令会保持对象的所有权。但是,您可以使用附带 OWNER(*KEEP) 参数的“复制对象”(CPY) 命令来保持对象的所有权。请记住,这仅适用于支持设置对象所有者的文件系统。使用 MOVCPY 时,请注意:

    • 属性可能不匹配,并且可能已废弃。
    • 扩展属性可能已废弃。
    • 权限可能不等价,并且可能已废弃。

    这表示,如果您决定使对象返回到其原始文件系统,那么您可能并不想只是将其移动或复制回原始文件系统,因为属性和权限已废弃。返回对象的最安全方法是恢复已保存的该对象。