了解迁移 XML 文件

你可以通过使用 XML 文件修改基本 用户状态迁移工具 (USMT) 5.0 迁移行为;这些文件提供有关 USMT 工具应收集和应用文件和设置的位置和方式的说明。USMT 包含三个你可用于自定义基本迁移的 XML 文件:MigDocs.xml 和 MigUser.xml 文件(可用于修改在源计算机上发现文件的方式)以及 MigApps.xml 文件(迁移获支持的应用程序设置需要使用此文件)。你还可以创建和编辑自定义 XML 文件和 Config.xml 文件,以便进一步自定义迁移。

本主题提供默认和自定义迁移 XML 文件的概要,并包含有关创建和编辑自定义版本的 MigDocs.xml 文件的指南。MigDocs.xml 文件使用 中具有的新 GenerateDocPatterns USMT 函数,自动查找源计算机上的用户文件。

本主题内容

Config.xml 文件的概述

MigApp.xml 文件的概述

MigDocs.xml 文件的概述

MigUser.xml 文件的概述

使用多个 XML 文件

     用于迁移用户文件的 XML 规则

创建和编辑自定义 XML 文件

     GenerateDocPatterns 函数

     了解系统和用户上下文

     XML 文件自定义版本的示例迁移规则

     排除规则使用示例

     包含规则使用示例

后续步骤

Config.xml 文件的概述

Config.xml 文件是通过 ScanState 工具的 /genconfig 选项创建的配置文件;它可用于修改通过 USMT 迁移的操作系统组件。诚如以下示例所述,Config.xml 文件可与其他 XML 文件结合使用:scanstate /i:migapps.xml /i:migdocs.xml /genconfig:c:\myFolder\config.xml。以如此方式使用时,Config.xml 文件严格控制迁移的方方面面,包括用户配置文件、数据和设置,无需修改或创建其他 XML 文件。有关 Config.xml 文件的详细信息,请参阅自定义 USMT XML 文件以及 Config.xml 文件

note备注
当修改 Config.xml 文件中的 XML 元素时,你应编辑元素,并且将迁移属性设置为“无”,而非从文件中删除元素。如果你删除了元素而非设置属性,则仍可按照其他 XML 文件中的规则迁移组件。

MigApp.xml 文件的概述

与 USMT 一同安装的 MigApp.xml 文件包含有关迁移USMT 将迁移哪些内容?中所列应用程序的设置的说明。使用 ScanState 和 LoadState 工具时必须包含 MigApp.xml 文件,这只需使用 /i 选项迁移应用程序设置即可。MigDocs.xml 和 MigUser.xml 文件不迁移应用程序设置。你可以创建自定义 XML 文件,以包含其他应用程序。有关详细信息,请参阅自定义 USMT XML 文件

重要

MigApps.xml 文件将仅检测和迁移与 Microsoft® Office Outlook® 链接的 .pst 文件。有关迁移不与 Outlook 链接的 .pst 文件的详细信息,请参阅本文档中的XML 文件自定义版本的示例迁移规则部分。

MigDocs.xml 文件的概述

MigDocs.xml 文件使用新的 GenerateDocPatterns Helper 函数创建有关 USMT 根据文件位置从源计算机迁移文件的说明。与无 XML 说明且使用 USMT 的情况相比,MigDocs.xml 文件以及 ScanState 和 LoadState 工具的结合使用可让迁移目标更加明确。

默认的 MigDocs.xml 文件将迁移以下内容:

  • 驱动器根上的所有文件,除 %WINDIR%、%PROGRAMFILES%、%PROGRAMDATA% 或 %USERS% 外。

  • 所有固定驱动器根目录中的任何文件夹。例如:c:\data_mail\*[*]

  • Profiles 文件夹的根中的所有文件,除系统配置文件中的文件外。例如:c:\users\name[mail.pst]

  • Profiles 文件夹的根中的所有文件,除系统配置文件文件夹中的文件外。例如:c:\users\name\new folder\*[*]

  • 标准的共享文件夹:

    • CSIDL_COMMON_DESKTOPDIRECTORY

    • CSIDL_COMMON_FAVORITES

    • CSIDL_COMMON_DOCUMENTS

    • CSIDL_COMMON_MUSIC

    • CSIDL_COMMON_PICTURES

    • CSIDL_COMMON_VIDEO

    • FOLDERID_PublicDownloads

  • 每个用户的标准用户配置文件文件夹:

    • CSIDL_MYDOCUMENTS

    • CSIDL_MYPICTURES

    • FOLDERID_OriginalImages

    • CSIDL_MYMUSIC

    • CSIDL_MYVIDEO

    • CSIDL_FAVORITES

    • CSIDL_DESKTOP

    • CSIDL_QUICKLAUNCH

    • FOLDERID_Contacts

    • FOLDERID_Libraries

    • FOLDERID_Downloads

    • FOLDERID_SavedGames

    • FOLDERID_RecordedTV

默认的 MigDocs.xml 文件将不会迁移以下内容:

  • 标有隐藏系统属性的文件。

  • 可移动驱动器上的文件和文件夹。

  • 来自 %WINDIR%、%PROGRAMDATA% 以及 %PROGRAMFILES% 文件夹的数据。

  • 含有已安装应用程序的文件夹。

你还可以同时使用 /genmigxml 选项和 ScanState 工具,查看并修改要迁移的文件。有关详细信息,请参阅本文档中的创建和编辑自定义 XML 文件部分。

MigUser.xml 文件的概述

MigUser.xml 文件包含有关 USMT 根据文件扩展名迁移用户文件的说明。与无 XML 说明且使用 USMT 的情况相比,MigUser.xml 文件以及 ScanState 和 LoadState 工具的结合使用可让迁移目标更加明确。MigUser.xml 文件将收集标准用户配置文件文件夹中的所有文件以及计算机上带有特定文件扩展名的任何文件。

默认的 MigUser.xml 文件将迁移以下内容:

  • 标准用户配置文件文件夹中的所有文件,如下所示:

    • CSIDL_MYVIDEO

    • CSIDL_MYMUSIC

    • CSIDL_DESKTOP

    • CSIDL_STARTMENU

    • CSIDL_PERSONAL

    • CSIDL_MYPICTURES

    • CSIDL_FAVORITES

    • CSIDL_QUICK LAUNCH

  • 带有以下扩展名的文件:

    .qdf、.qsd、.qel、.qph、.doc*、.dot*、.rtf、.mcw、.wps、.scd、.wri、.wpd、.xl*、.csv、.iqy、.dqy、.oqy、.rqy、.wk*、.wq1、.slk、.dif、.ppt*、.pps*、.pot*、.sh3、.ch3、.pre、.ppa、.txt、.pst、.one*、.vl*、.vsd、.mpp、.or6、.accdb、.mdb、.pub

默认的 MigUser.xml 文件将不会迁移以下内容:

  • 标有隐藏系统属性的文件。

  • 可移动驱动器上的文件和文件夹。

  • 来自 %WINDIR%、%PROGRAMFILES% 以及 %PROGRAMDATA% 文件夹的数据。

  • 不包含在用户配置文件中的文件夹中文件的 ACLS。

你可以复制 MigUser.xml 文件,并且对它进行修改,以包含或排除标准用户配置文件文件夹以及文件扩展名。如果你知道源计算机中所有要迁移文件的扩展名,则使用 MigUser.xml 文件,移动相关数据,不管文件位置如何。但是,这会导致迁移中含有比预期要多的文件。例如,如果你选择迁移所有 .jpg 文件,你可能会迁移来自安装在源计算机上的旧应用程序的映像文件(例如缩略图和标识)。

note备注
每个 MigUser.xml 文件中的规则所包含的文件扩展名都会增加 ScanState 工具为迁移收集文件所需的时间。如果你迁移的文件类型有三百多种,则可能经历缓慢的迁移过程。有关整理数据迁移的其他方式的详细信息,请参阅本文档中的使用多个 XML 文件部分。

使用多个 XML 文件

你可以通过 ScanState 和 LoadState 工具使用多个 XML 文件。为迁移的特定组件配置每个由 USMT 包含或生成的默认 XML 文件。你还可以使用自定义 XML 文件补充这些带有其他迁移规则的默认文件。

XML 迁移文件 修改下列组件:

Config.xml 文件

操作系统组件,例如桌面墙纸和背景主题。

你还可以通过生成 config.xml 文件及其他默认 XML 文件,重载 config.xml,从而包含一些应用程序和文档设置。有关详细信息,请参阅自定义 USMT XML 文件以及 Config.xml 文件

MigApps.xml 文件

应用程序设置。

MigUser.xml 或 MigDocs.xml 文件

用户文件和配置文件设置。

自定义 XML 文件

应用程序设置、用户配置文件设置或用户文件,除其他 XML 文件中含有的规则外。

例如,你可以使用所有 XML 迁移文件类型进行单一迁移,如以下示例所述:

Scanstate <store> /config:c:\myFolder\config.xml /i:migapps.xml /i:migdocs.xml /i:customrules.xml

用于迁移用户文件的 XML 规则

重要

你不应在同一命令中同时使用 MigUser.xml 和 MigDocs.xml 文件。使用两个 XML 文件会导致复制一些迁移的文件。当每个 XML 文件所附有的目标位置说明存在冲突时,会发生这种情况。迁移期间目标文件仅存储一次,但会被每个 XML 文件应用到目标计算机上的不同位置。

如果你的数据集尚未明确或许多文件存储在标准用户配置文件文件夹外面,则 MigDocs.xml 将是比 MigUser.xml 文件更理想的选择,因为 MigDocs.xml 文件将收集更广泛的数据。MigDocs.xml 文件根据位置迁移数据文件夹。MigUser.xml 文件仅迁移带有特定文件扩展名的文件。

如果你想加大对迁移的控制,则可创建自定义 XML 文件。请参阅本文档中的创建和编辑自定义 XML 文件部分。

创建和编辑自定义 XML 文件

你可使用 /genmigxml 命令行选项,确定哪些文件应包含在迁移中。利用 /genmigxml 选项,在你指定的位置创建文件,以便你可以查看 XML 规则,并做出必要的修改。

note备注
如果你重新安装 USMT,则会覆盖默认的迁移 XML 文件,并且丢失你直接为这些文件做出的任何自定义。考虑为自定义迁移规则创建独立的 XML 文件以及将它们保存在安全位置。

为源计算机生成 XML 迁移规则文件的步骤:

  1. 依次单击**“开始”“所有程序”“附件”,并且右键单击“命令提示符”,然后单击“运行方式”**。

  2. 选择一个具有管理员权限的帐户,提供一个密码,然后单击**“确定”**。

  3. 在命令提示符下,键入:

    cd /d <USMTpath>
    
    scanstate.exe /genmigxml: <filepath.xml>
    

    其中 <USMTpath> 是源计算机上保存 USMT 文件和工具的位置,<filepath.xml> 是可以保存报告的文件的完整路径。例如,键入:

    cd /d c:\USMT
    
    scanstate.exe /genmigxml:"C:\Documents and Settings\USMT Tester\Desktop\genMig.xml"
    

GenerateDocPatterns 函数

MigDocs.xml 文件可调用含有三个布尔值的 GenerateDocPatterns 函数。你可以更改设置,以修改 MigDocs.xml 文件生成 XML 迁移规则的方式。

设置 默认值

ScanProgramFiles

ScanProgramFiles 参数生效的唯一条件是在系统上下文中调用 GenerateDocPatterns 函数。此参数确定是否扫描 Program Files 目录,以收集已在相关应用程序中注册的文件扩展名。

例如,当设置为“TRUE”时,该函数将发现和迁移 Microsoft Office 目录项下的 .doc 文件,因为 .doc 是已在 Microsoft Office 应用程序中注册的文件扩展名。GenerateDocPatterns 函数为 .doc 文件生成这种包含模式:

<pattern type="File">C:\Program Files\Microsoft Office\*[*.doc]</pattern>

如果所包含文件夹的子文件夹含有安装的应用程序,则 ScanProgramFiles 还将为子文件夹创建排除规则。以递归方式为注册的文件扩展名扫描应用程序文件夹项下的所有文件夹。

False

IncludePatterns

IncludePatterns 参数可确定是否在 XML 中生成排除或包含模式。当此参数设置为“TRUE”时,GenerateDocPatterns 函数将生成包含模式,这时必须将该函数添加在 <include> 元素项下。将此参数更改为“FALSE”时,会生成排除模式,这时必须将该函数添加在 <exclude> 元素项下。

True

SystemDrive

SystemDrive 参数将确定生成的模式是适用于所有固定驱动器还是仅适用于系统驱动器。将此参数更改为“TRUE”时,会导致所有模式仅适用于系统驱动器。

False

用法:

MigXmlHelper.GenerateDocPatterns ("<ScanProgramFiles>", "<IncludePatterns>", "<SystemDrive>")

创建仅适用于系统驱动器的包含数据模式的步骤:

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>

     <objectSet>

        <script>MigXmlHelper.GenerateDocPatterns ("FALSE","TRUE","TRUE")</script>

     </objectSet>

</include>

创建包含规则以从 %PROGRAMFILES% 目录收集已注册扩展名的文件的步骤:

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>

     <objectSet>

        <script>MigXmlHelper.GenerateDocPatterns ("TRUE","TRUE","FALSE")</script>

     </objectSet>

</include>

创建排除数据模式的步骤:

<exclude filter='MigXmlHelper.IgnoreIrrelevantLinks()'>

     <objectSet>

        <script>MigXmlHelper.GenerateDocPatterns ("FALSE","FALSE","FALSE")</script>

     </objectSet>

</exclude>

了解系统和用户上下文

迁移 XML 文件包含两个带有不同上下文设置的 <component> 元素。系统上下文适用于计算机上并不存储在 User Profiles 目录中的文件,而用户上下文则适用于对个别用户尤为重要的文件。

系统上下文

系统上下文包含适用于 User Profiles 目录外部数据的规则。例如,当调用 MigDocs.xml 文件中的系统上下文时,GenerateDocPatterns 函数创建了适用于所有常见的外壳文件夹、硬盘驱动器根目录中的文件以及硬盘驱动器根中的文件夹的模式。包含以下文件夹:

  • CSIDL_COMMON_DESKTOPDIRECTORY

  • CSIDL_COMMON_FAVORITES

  • CSIDL_COMMON_DOCUMENTS

  • CSIDL_COMMON_MUSIC

  • CSIDL_COMMON_PICTURES

  • CSIDL_COMMON_VIDEO

  • FOLDERID_PublicDownloads

用户上下文

用户上下文包含适用于 User Profiles 目录中的数据的规则。当调用 MigDocs.xml 文件中的用户上下文时,GenerateDocPatterns 函数创建了适用于所有用户外壳文件夹、配置文件根中的文件以及配置文件根中的文件夹的模式。包含以下文件夹:

  • CSIDL_MYDOCUMENTS

  • CSIDL_MYPICTURES

  • FOLDERID_OriginalImages

  • CSIDL_MYMUSIC

  • CSIDL_MYVIDEO

  • CSIDL_FAVORITES

  • CSIDL_DESKTOP

  • CSIDL_QUICKLAUNCH

  • FOLDERID_Contacts

  • FOLDERID_Libraries

  • FOLDERID_Downloads

  • FOLDERID_SavedGames

  • FOLDERID_RecordedTV

note备注
将为计算机上的每个用户配置文件,执行分配了用户上下文的组件中所含有的规则。MigDocs.xml 文件多次扫描的文件将仅可一次性复制到迁移存储中;但是,用户上下文中的大量规则会使迁移变得缓慢。如适用,则使用系统上下文。

XML 文件自定义版本的示例迁移规则

note备注
有关 USMT 中自定义 XML 文件的最佳实践和要求的详细信息,请参阅自定义 USMT XML 文件以及一般约定

排除规则使用示例

在以下示例中,源计算机具有一个“新建文件夹”目录项下名为“新建文本文档”的 .txt 文件。默认的 MigDocs.xml 行为迁移该新建文本文档 .txt 文件以及“新建文件夹”目录中所含有的所有文件。函数生成的规则:

规则 1

<pattern type="File">d:\new folder\[new text document.txt]</pattern>

规则 2

<pattern type="File">d:\new folder\*[*]</pattern>

如要排除新建文本文档 .txt 文件以及“新建文件夹”中的任何 .txt 文件,可执行以下操作:

示例 1:排除文件夹中所有 .txt 文件

如要排除规则 1,则文件名必须完全匹配。但是,对于规则 2,则可使用文件扩展名创建模式,以排除文件。

<exclude>

     <objectSet>

        <pattern type="File">D:\Newfolder\[new text document.txt]</pattern>

         <pattern type="File">D:\New folder\*[*.txt]</pattern>

     </objectSet>

</exclude>

示例 2:使用 UnconditionalExclude 元素,让此规则优先于包含规则。

如果你不知道文件名或文件位置,但知道文件扩展名,则可使用 GenerateDrivePatterns 函数。但是,此规则的具体性将不如 MigDocs.xml 文件所生成的默认包含规则,因此,它不具有优先性。你必须使用 <UnconditionalExclude> 元素,让此规则优先于默认的包含规则。有关 XML 迁移规则的优先顺序的详细信息,请参阅冲突和优先级

<unconditionalExclude>

     <objectSet>

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

     </objectSet>

</unconditionalExclude>

示例 3:使用 UserandSystem 上下文组件,在两种上下文中运行规则

如果你想将 <UnconditionalExclude> 元素应用于系统和用户上下文,则可使用 UserandSystem 上下文创建第三个组件。将在两种上下文中运行此组件中的规则。

<component type="Documents" context="UserandSystem">

   <displayName>MigDocExcludes</displayName>

   <role role="Data">

     <rules>

       <unconditionalExclude>

         <objectSet>

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

         </objectSet>

       </unconditionalExclude>

     </rules>

   </role>

</component>

如要获得更多可在自定义迁移 XML 文件中使用的排除规则示例,请参阅排除文件和设置

包含规则使用示例

应用程序数据目录是你必须为其添加包含规则的最常见位置。默认情况下,GenerateDocPatterns 函数排除此位置。如果你公司使用的应用程序将重要数据保存到此位置,则可创建包含规则以迁移数据。例如,.pst 文件的默认位置是:%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook。Migapp.xml 文件含有迁移规则,仅可移动那些与 Microsoft Outlook 链接的 .pst 文件。如要包含那些未链接的 .pst 文件,请执行以下操作:

示例 1:在已知的用户文件夹中包含文件扩展名

此规则将包含处于默认位置但未链接到 Microsoft Outlook 的 .pst 文件。使用用户上下文,对计算机上的每位用户运行此规则。

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>

     <objectSet>

        <pattern type="File">%CSIDL_LOCAL_APPDATA%\Microsoft\Outlook\*[*.pst]</pattern>

     </objectSet>

</include>

示例 2:在程序文件中包含文件扩展名

对于用户配置文件外部的位置(如程序文件文件夹),你可将规则添加到系统上下文组件。

<include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>

     <objectSet>

        <pattern type="File">%CSIDL_PROGRAM_FILES%\*[*.pst]</pattern>

     </objectSet>

</include>

如果获得更多可在自定义迁移 XML 文件中使用的包含规则示例,请参阅包含文件和设置

note备注
有关 XML 迁移规则的优先顺序的详细信息,请参阅冲突和优先级

后续步骤

你可将其他迁移规则包含在 MigDocs.xml 文件或其他 XML 迁移文件中。例如,当文件应用到目标计算机时,你可使用 <locationModify> 元素从文件夹中移动各个文件,以便将文件收集到其他文件夹。有关详细信息,请参阅 USMT XML 参考

你可使用 XML 架构 (MigXML.xsd) 文件验证自定义 XML 文件的语法。有关详细信息,请参阅 USMT 资源

另请参阅

其他资源

排除文件和设置
包含文件和设置