共用方式為


排除檔案與設定

當您指定移轉 .xml 檔案、MigApp.xml、Migdocs 以及 MigUser.xml 時,使用者狀態移轉工具 (USMT) 10.0 會移轉列出的設定和元件,如 USMT 移轉哪些項目?所述。您可以建立自訂 .xml 檔案,進一步指定移轉時要包含或排除的項目。此外,您可以建立 Config.xml 檔案,從移轉中排除整個元件。不過,您無法使用移轉 .xml 檔案或 Config.xml 檔案來排除使用者。要包含和排除使用者的唯一方法就是在 ScanState 工具中使用命令列的使用者選項。如需詳細資訊,請參閱 ScanState 語法

在本主題中:

  • 建立自訂 .xml 檔案。您可以使用以下元素來指定要排除的物件:

    • 包含和排除:您可以使用 <include> 和 <exclude> 元素排除具有條件的物件。例如,您可以移轉位於 C:\ 磁碟機中的所有檔案,但不含任何 .mp3 檔案。請務必記住,衝突與優先順序適用於這些元素。

    • unconditionalExclude:您可以使用 <unconditionalExclude> 元素,全面排除資料。這個元素的優先順序高於 .xml 檔案中的所有其他包含和排除規則。因此,這個元素會排除物件,無論 .xml 檔案中的任何其他 <include> 規則為何。例如,您可以排除電腦上的所有 .mp3 檔案,或者排除 C:\UserData 中的所有檔案。

  • 建立 Config.xml 檔案:您可以建立和修改 Config.xml 檔案,從移轉中排除整個元件。例如,您可以使用這個檔案來排除其中一個預設應用程式的設定。此外,建立和修改 Config.xml 檔案,是排除要移轉至執行 Windows 電腦的作業系統設定的唯一方法。因為您不需要熟悉移轉規則和語法,所以使用這個檔案排除元件會比修改移轉 .xml 檔案簡單。

建立自訂 .xml 檔案

建議您建立自訂 .xml 檔案,而不要修改預設移轉 .xml 檔案。當您使用自訂 .xml 檔案時,可以分開保留預設 .xml 檔案的變更,這樣較容易追蹤修改的項目。

<include> 和 <exclude>

移轉 .xml 檔案、MigApp.xml、MigDocs 以及 MigUser.xml (包含 <component> 元素),它通常代表獨立的元件或應用程式,例如 Microsoft® Office Outlook® 和 Word。若要排除與這些元件關聯的檔案和登錄設定,請使用 <include> 和 <exclude> 元素。例如,您可以使用這些元素移轉具有模式 X 的所有檔案和設定,但不移轉具有模式 Y 的檔案和設定 (其中 Y 比 X 更為明確)。如需這些元素的語法,請參閱 USMT XML 參考

注意  

如果指定 <exclude> 規則,請一律指定對應的 <include> 規則。否則,如果未指定 <include> 規則,則不會包含特定的檔案或設定。它們會從移轉中排除。因此,不需要單獨出現的 <exclude> 規則。

 

  • 範例 1:如何移轉 C:\ 中的所有檔案,但不含 .mp3 檔案

  • 範例 2:如何移轉位於 C:\Data 中的所有檔案,但不含 C:\Data\tmp 中的檔案

  • 範例 3:如何排除資料夾中的檔案,但包含所有子資料夾

  • 範例 4:如何排除特定資料夾中的某個檔案

  • 範例 5:如何排除任何位置中的某個檔案

範例 1:如何移轉 C:\ 中的所有檔案,但不含 .mp3 檔案

下列 .xml 檔案會移轉位於 C:\ 磁碟機中的所有檔案,但不含任何 .mp3 檔案。

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/mp3files">
    <!-- This component migrates all files except those with .mp3 extension-->
    <component type="Documents" context="UserAndSystem">
        <displayName _locID="miguser.sharedvideo">MP3 Files</displayName>
        <role role="Data">
            <rules>
                <include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
                    <objectSet>
                        <pattern type="File">C:\* [*]</pattern>
                    </objectSet>
                </include>
                <exclude>
                    <objectSet>
                        <pattern type="File">C:\* [*.mp3]</pattern>
                    </objectSet>
                </exclude>
            </rules>
        </role>
    </component>
</migration>

範例 2:如何移轉位於 C:\Data 中的所有檔案,但不含 C:\Data\tmp 中的檔案

下列 .xml 檔案會移轉 C:\Data 中的所有檔案和子資料夾,但不含 C:\Data\tmp 中的檔案和子資料夾。

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/test">
    <component type="Documents" context="System">
        <displayName _locID="miguser.sharedvideo">Test component</displayName>
        <role role="Data">
            <rules>
         <include>
            <objectSet>
                 <pattern type="File">C:\Data\* [*]</pattern>
            </objectSet>
          </include>
         <exclude>
             <objectSet>
                   <pattern type="File"> C:\Data\temp\* [*]</pattern>
             </objectSet>
         </exclude>  
            </rules>
        </role>
    </component>
</migration>

範例 3:如何排除資料夾中的檔案,但包含所有子資料夾

下列 .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>
      <exclude>
        <objectSet>
          <pattern type="File"> C:\EngineeringDrafts\ [*]</pattern>
        </objectSet>
      </exclude>
    </rules>
  </role>
</component>
</migration>

範例 4:如何排除特定資料夾中的某個檔案

下列 .xml 檔案會移轉 C:\EngineeringDrafts 中的所有檔案和子資料夾,但不含 C:\EngineeringDrafts 中的 Sample.doc 檔案。

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

範例 5:如何排除任何位置中的某個檔案

若要排除 C: 磁碟機任何位置的 Sample.doc 檔案,請使用 <pattern> 元素。如果 C:\ 磁碟機上有多個同名的檔案,則會排除所有這些檔案。

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

若要排除電腦上任何磁碟機中的 Sample.doc 檔案,請使用 <script> 元素。如果有多個同名的檔案,則會排除所有這些檔案。

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

USMT XML 參考

範例 1:如何排除所有 .mp3 檔案

下列 .xml 檔案會從移轉中排除所有 .mp3 檔案:

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/excludefiles">
  <component context="System" type="Documents">
        <displayName>Test</displayName>
        <role role="Data">
            <rules>
             <unconditionalExclude>
                        <objectSet>
    <script>MigXmlHelper.GenerateDrivePatterns ("* [*.mp3]", "Fixed")</script>
                        </objectSet> 
             </unconditionalExclude>
            </rules>
        </role>
    </component>
</migration>

範例 2:如何排除特定磁碟機上的所有檔案

下列 .xml 檔案只會排除位於 C: 磁碟機上的檔案。

<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/allfiles">
    <component type="Documents" context="System">
        <displayName>Test</displayName>
        <role role="Data">
            <rules>
  <unconditionalExclude>
                    <objectSet>
      <pattern type="File">c:\*[*]</pattern>
                    </objectSet>
  </unconditionalExclude>
            </rules>
        </role>
    </component>
</migration>

範例 3:如何排除登錄機碼

下列 .xml 檔案會無條件排除 HKey_Current_User 登錄機碼和它的所有子機碼。

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/miguser">
   <component type="Documents" context="User">
      <displayName>Test</displayName>
      <role role="Data">
         <rules>
            <include>
               <objectSet>
                  <pattern type="Registry">HKCU\testReg[*]</pattern>
               </objectSet>
            </include>
            <unconditionalExclude>
               <objectSet>
                  <pattern type="Registry">HKCU\*[*]</pattern>
               </objectSet>
            </unconditionalExclude>
         </rules>
      </role>
   </component>
</migration>

範例 4:如何排除 C:\Windows 和 C:\Program Files

下列 .xml 檔案會無條件排除系統資料夾 C:\Windows 和 C:\Program Files。請注意,因為 <unconditionalExclude> 元素的優先順序高於 <include> 元素,所以不會移轉所有 *.docx、*.xls 以及 *.ppt 檔案。

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/miguser">
   <component type="Documents" context="System">
      <displayName>Test</displayName>
      <role role="Data">
         <rules>
            <include>
               <objectSet>
    <script>MigXmlHelper.GenerateDrivePatterns ("* [*.doc]", "Fixed")</script>
    <script>MigXmlHelper.GenerateDrivePatterns ("* [*.xls]", "Fixed")</script>
    <script>MigXmlHelper.GenerateDrivePatterns ("* [*.ppt]", "Fixed")</script>
               </objectSet>
            </include>
            <unconditionalExclude>
               <objectSet>
                  <pattern type="File">C:\Program Files\* [*]</pattern>
<pattern type="File">C:\Windows\* [*]</pattern>
               </objectSet>
            </unconditionalExclude>
         </rules>
      </role>
   </component>
</migration>

建立 Config.xml 檔案

如果想要從移轉中排除元件,您可以建立和修改 Config.xml 檔案。因為您不需要熟悉移轉規則和語法,所以使用這個檔案排除元件會比修改移轉 .xml 檔案簡單。Config.xml 是選擇性檔案,您可以使用 ScanState 工具搭配 /genconfig 命令列選項建立。例如,您可以使用 Config.xml 檔案來排除其中一個預設應用程式的設定。此外,建立和修改這個檔案,是排除要移轉至執行 Windows 電腦的作業系統設定的唯一方法。

  • **排除預設應用程式的設定:**針對 Config.xml 檔案之 <Applications> 區段下的應用程式,指定 migrate="no"

  • **排除作業系統設定:**針對 <WindowsComponents> 區段下的設定,指定 migrate="no"

  • **排除 [我的文件]:**針對 <Documents> 區段下的 [我的文件],指定 migrate="no"。請注意,.xml 檔案中的任何 <include> 規則仍然適用。例如,如果規則包含 [我的文件] 中的所有 .docx 檔案,則只會移轉 .docx 檔案,而不會移轉其餘檔案。

如需詳細資訊,請參閱 Config.xml 檔案

注意  

若要從 Config.xml 檔案排除某個元件,請將 migrate 值設定成 "no"。從 Config.xml 檔案中刪除元件的 XML 標記並不會從移轉中排除該元件。

 

相關主題

自訂 USMT XML 檔案

USMT XML 參考

Config.xml 檔案