INF DelFiles 指示詞
警告
如果您要建置通用或 Windows 驅動程式套件,則這個指示詞無效。 請參閱 使用通用 INF 檔案 和 開始開發 Windows 驅動程式。
DelFiles 指示詞會參考 INF 檔案中其他地方的 INF 寫入器定義區段,並在指定 DelFiles 指示詞之區段的作業內容中,刪除該檔案清單。
[DDInstall] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
Delfiles=file-list-section[,file-list-section]...
DelFiles 指示詞可以在正式語法語句中顯示的任何區段內指定。 您也可以在下列任一 INF 寫入器定義的區段中指定這個指示詞:
- AddInterface 指示詞在 DDInstall 中參考的 add-interface-section。介面區段。
- InterfaceInstall32 區段中參考的 install-interface-section
DelFiles 指示詞所參考的每個具名區段都有下列一或多個形式的專案:
[file-list-section]
destination-file-name[,,,flag]
...
file-list-section 可以有任意數目的專案,每個專案位於個別行上。
項目
destination-file-name
指定要從目的地刪除的檔案名。
請勿指定 CopyFiles 指示詞中列出的檔案。 如果檔案同時列在 CopyFiles 參考和 DelFiles 參考區段中,而且檔案目前存在於具有有效簽章的系統上,則操作系統可能會將複製作業優化,但執行刪除作業。 這很可能 不是 INF 寫入器的預期。
注意
您無法使用 %strkey% 令牌來指定 destination-file-name 專案。 如需 %strkey% 令牌的詳細資訊,請參閱 INF 字串一節。
旗標
這個選擇性值可以是下列其中一個,以十六進位表示法表示法表示,如這裡所示或十進位值:
0x00000001 (DELFLG_IN_USE)
刪除具名檔案,可能是在安裝程序期間使用它之後。
在 INF 中設定此旗標值會將檔案刪除作業排入佇列,直到系統在處理這個 INF 時正在使用中,所以系統已重新啟動。 否則,將不會刪除這類檔案。
0x00010000 (DELFLG_IN_USE1) (Windows 2000 或更新版本的 Windows)
此旗標是DELFLG_IN_USE旗標的版本,其用途和效果相同。 這個旗標應該只用於 NT 型系統上的安裝。
在 INF 中設定此旗標值可防止與 INF 中的 COPYFLG_WARN_IF_SKIP 旗標衝突,以及參考相同 file-list-section 的 DelFiles 和 CopyFiles 指示詞。
備註
重要
這個指示詞必須謹慎使用。 強烈建議您不要在 INF 檔案中使用 DelFiles 指示詞,以用於 隨插即用 (PnP) 函式驅動程式。
任何 file-list-section 名稱都必須是 INF 檔案的唯一名稱,但可由 CopyFiles、DelFiles 或 RenFiles 指示詞參考相同 INF 中的其他地方。 這類 INF 寫入器定義的區段名稱必須遵循定義區段名稱的一般規則。 如需這些規則的詳細資訊,請參閱 INF 檔案的一般語法規則。
DelFiles 指示詞不支援以系統定義的平台擴展名裝飾 file-list-section 名稱(.nt、.ntx86、.ntia64、.ntamd64、.ntarm 或 .ntarm64)。
不論包含特定 DelFiles 指示詞的區段為何,INF 檔案的 DestinationDirs 區段都會控制所有檔案刪除作業的目的地。 如果 DelFiles 指示詞所參考的具名區段在相同 INF 的 DestinationDirs 區段中有對應的專案,該專案會明確指定目標目的地目錄,從中刪除命名區段中所列的所有檔案。 如果未在 DestinationDirs 區段中列出具名區段,Windows 會使用 INF 中的 DefaultDestDir 專案。
範例
此範例示範 DestinationDirs 區段如何指定在處理簡單設備驅動器 INF 時發生的刪除檔案作業路徑。
[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS
; ...
[AHA154X]
CopyFiles=@AHA154x.MPD
DelFiles=ASPIDEV ; defines delete-files section name
; ... some other directives and sections omitted here
[ASPIDEV]
VASPID.SYS ; name of file to be deleted, if it exists on target
; ...