包含文件和设置

当你指定迁移 .xml 文件时,用户状态迁移工具 (USMT) 5.0 会迁移USMT 将迁移哪些内容?中指定的设置和组件。若要包含其他文件和设置,我们建议你创建一个自定义 .xml 文件,然后在使用 ScanState 和 LoadState 命令时包含此文件。通过创建自定义 .xml 文件,你可以将你的更改与默认 .xml 文件分开,这样更容易追踪你的修改。

本主题内容:

  • 迁移单个注册表项

  • 迁移特定的文件夹

  • 从特定的驱动器迁移文件夹

  • 从任何位置迁移文件夹

  • 将一个文件类型迁移到特定的文件夹

  • 迁移特定的文件

迁移单个注册表项

下面的 .xml 文件迁移单个注册表项。

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
     <component type="Application" context="System">
          <displayName>Component to migrate only registry value string</displayName> 
          <role role="Settings">
          <rules>
               <include>
                    <objectSet>
                         <pattern type="Registry">HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache [Persistent]</pattern> 
                    </objectSet>
               </include>
          </rules>
          </role>
     </component>
</migration>

迁移特定的文件夹

以下示例说明如何从特定的驱动器迁移文件夹,以及如何从计算机任何位置迁移文件夹。

从特定的驱动器迁移文件夹

  • **包括子文件夹。**下面的 .xml 文件将 C:\EngineeringDrafts 中的所有文件和子文件夹迁移到目标计算机。

    <migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
    <component type="Documents" context="System">
      <displayName>Component to migrate all Engineering Drafts Documents including subfolders</displayName>
      <role role="Data">
        <rules>
          <include>
            <objectSet>
              <pattern type="File">C:\EngineeringDrafts\* [*]</pattern>
            </objectSet>
          </include>
        </rules>
      </role>
    </component>
    </migration>
    
  • **排除子文件夹。**下面的 .xml 文件迁移 C:\EngineeringDrafts 中的所有文件,但是不迁移 C:\EngineeringDrafts 中的任何子文件夹。

    <migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
    <component type="Documents" context="System">
      <displayName>Component to migrate all Engineering Drafts Documents without subfolders</displayName>
      <role role="Data">
        <rules>
          <include>
            <objectSet>
              <pattern type="File"> C:\EngineeringDrafts\ [*]</pattern>
            </objectSet>
          </include>
        </rules>
      </role>
    </component>
    </migration>
    

从任何位置迁移文件夹

下面的 .xml 文件从计算机上的任何驱动器迁移 EngineeringDrafts 文件夹中的所有文件和子文件夹。如果存在多个具有相同名称的文件夹,则迁移具有此名称的所有文件。

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
<component type="Documents" context="System">
  <displayName>Component to migrate all Engineering Drafts Documents folder on any drive on the computer </displayName>
  <role role="Data">
    <rules>
         <include>
            <objectSet>
         <script>MigXmlHelper.GenerateDrivePatterns ("\EngineeringDrafts\* [*] ", "Fixed")</script>            
         <script>MigXmlHelper.GenerateDrivePatterns ("*\EngineeringDrafts\* [*] ", "Fixed")</script>            
       </objectSet>
          </include>
    </rules>
  </role>
</component>
</migration>

下面的 .xml 文件从 C:\ 驱动器的任何位置迁移 EngineeringDrafts 文件夹中的所有文件和子文件夹。如果存在多个具有相同名称的文件夹,则将它们全部迁移。

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
<component type="Documents" context="System">
  <displayName>Component to migrate all Engineering Drafts Documents EngineeringDrafts folder from where ever it exists on the C: drive </displayName>
  <role role="Data">
    <rules>
         <include>
            <objectSet>                 
<pattern type="File"> C:\*\EngineeringDrafts\* [*]</pattern>
<pattern type="File"> C:\EngineeringDrafts\* [*]</pattern>
       </objectSet>
          </include>
    </rules>
  </role>
</component>
</migration>

将一个文件类型迁移到特定的文件夹

下面的 .xml 文件将源计算机上指定驱动器中的 .mp3 文件迁移到目标计算机上的 C:\Music 文件夹。

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
<component type="Documents" context="System">
  <displayName>All .mp3 files to My Documents</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <script>MigXmlHelper.GenerateDrivePatterns ("* [*.mp3]", "Fixed")</script>
        </objectSet>
      </include>
      <!-- Migrates all the .mp3 files in the store to the C:\Music folder during LoadState -->
      <locationModify script="MigXmlHelper.Move('C:\Music')">
        <objectSet>
          <script>MigXmlHelper.GenerateDrivePatterns ("* [*.mp3]", "Fixed")</script>
        </objectSet>
      </locationModify>
    </rules>
  </role>
</component>
</migration> 

迁移特定的文件

以下示例说明如何从特定的文件夹迁移文件,以及如何从任何位置迁移文件。

  • **若要从文件夹迁移文件。**下面的 .xml 文件仅将 Sample.doc 文件从源计算机上的 C:\EngineeringDrafts 迁移到目标计算机。

    <migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
    <component type="Documents" context="System">
      <displayName>Component to migrate all Engineering Drafts Documents</displayName>
      <role role="Data">
        <rules>
          <include>
            <objectSet>
              <pattern type="File"> C:\EngineeringDrafts\ [Sample.doc]</pattern>
            </objectSet>
          </include>
        </rules>
      </role>
    </component>
    </migration>
    
  • **若要从任何位置迁移文件。**若要从 C:\ 驱动器上的任何位置迁移 Sample.doc 文件,请如以下示例所示使用 <pattern> 元素。如果 C:\ 驱动器上存在多个具有相同名称的文件,则迁移具有此名称的所有文件。

    <pattern type="File"> C:\* [Sample.doc] </pattern>
    

    若要从计算机上的任何驱动器迁移 Sample.doc 文件,请如以下示例所示使用 <script>。如果存在多个具有相同名称的文件,则迁移具有此名称的所有文件。

    <script>MigXmlHelper.GenerateDrivePatterns("* [sample.doc]", "Fixed")</script>
    

另请参阅

其他资源

自定义 USMT XML 文件
自定义 XML 示例
冲突和优先级
USMT XML 参考