INF DestinationDirs 區段
DestinationDirs 區段會指定 INF 檔案中其他位置所參考檔案上所有複製、刪除和/或重新命名作業的目標目的地目錄或目錄。
[DestinationDirs]
[DefaultDestDir=dirid[,subdir]]
[file-list-section=dirid[,subdir]]...
項目
DefaultDestDir=dirid[,subdir]
針對此處其他專案未明確列出的 檔案 ,指定所有複製、刪除和/或重新命名作業的預設目的地目錄。 為了確保檔案作業一律發生在正確的目錄中,包含 Include 和 Needs 專案的 INF 檔案不應該指定預設目的地目錄。 如需詳細資訊,請參閱接下來的<備註>一節。
file-list-section=dirid[,subdir]] ...
指定 InF 檔案中其他位置 CopyFiles、RenFiles 或 DelFiles 指示詞所參考之區段的 INF 寫入器決定名稱。 如果此區段有 DefaultDestDir 專案,而且此 INF 中指定的所有複製檔案作業具有相同的目標目的地,則此專案是選擇性的。 不過,INF 中其他位置的 RenFiles 或 DelFiles 指示詞所參考的任何檔案清單區段都必須列在這裡。
dirid
針對依名稱參考的檔案,指定目標目錄的目錄標識符,可能位於 INF 的具名 檔案清單區段中 。 如需常用 dirid 的清單,請參閱 使用 Dirids。 在 Windows 10 1709 版和更新版本的 Windows 上,建議使用 DIRID 13。 如需詳細資訊,請參閱 從驅動程式存放區執行 。
subdir
指定子目錄 (及其路徑的其餘部分,如果有的話,在 dirid 所識別的目錄下) 為指定 file-list-section 中檔案作業的目的地。
備註
使用 INF CopyFiles 指示詞或參考 file-list-section 的任何 INF 檔案都需要 DestinationDirs 區段,無論是使用 CopyFiles、DelFiles 或 RenFiles 指示詞。
如果 Abc.inf 包含另一個 INF 檔案的區段 Def.inf,而且兩個 INF 檔案都包含 Copy-file、rename-file 或 delete-file 作業的 DefaultDestDir 專案,Windows 會忽略 Def.inf 中指定的預設目的地目錄,並在 Abc.inf 中指定的預設目的地目錄中執行所有對應的檔案作業。
為了確保檔案作業一律發生在正確的目錄中,包含 Include 和 Needs 專案的 INF 檔案不應該在 DestinationDirs 區段中包含 DefaultDestDir 專案。 相反地,這類 INF 檔案應該明確參考 DestinationDirs 區段中 CopyFiles、RenFiles 和 DelFiles 指示詞所指定的所有 file-list-section 名稱。
如果 INF 檔案不包含 Include 和 Needs 專案,INF 可以使用 DefaultDestDir 專案來指定複製、重新命名和刪除 INF 檔案中其他位置的預設目的地:
- 使用直接複製 (@filename) 表示法的 CopyFiles 指示詞,在 INF 的 DestinationDirs 區段中必須有 DefaultDestDir 專案,其中會出現直接複製專案。
- DestinationDirs 區段中未直接參考的 CopyFiles、RenFiles 或 DelFiles 區段,在 INF 的 DestinationDirs 區段中必須有 DefaultDestDir 專案,其中會出現複製、重新命名和刪除檔案區段。
範例
本範例會設定所有 copy-file、delete-file 和 rename-file 作業的預設目標目錄。 這類簡單的 DestinationDirs 區段很常見於新周邊裝置的 INF 檔案,因為這類 INF 通常只會將一組來源檔案複製到目標電腦上的單一目錄。
[DestinationDirs]
DefaultDestDir = 13
此範例顯示顯示/視訊驅動程式 INF 的 DestinationDirs 區段片段。
[DestinationDirs]
DefaultDestDir = 13
; ...
; list of per-Manufacturer, per-Models, per-DDInstall-section, and
; CopyFiles-referenced xxx.Miniport/xxx.Display sections omitted here
; along with several other miniport/display paired drivers
; ...
vga.Miniport = 13
vga.Display = 13
xga.Miniport = 13
xga.Display = 13