Цитата jameszero:
Упущен восклицательный знак и переименование не работает, завешивая при этом OOBE. »
|
Знак необязателен, и означает принудительное переименование с перезаписью существующего файла с таким же именем, как имя назначения.
Для функции MoveFileEx это задается комбинацией флагов: MOVEFILE_DELAY_UNTIL_REBOOT|MOVEFILE_REPLACE_EXISTING
Само собой, что без флага MOVEFILE_REPLACE_EXISTING, и в результате восклицательного знака, переименование работает, только если файл с именем файла назначения не существует.
Если вас заинтересует, я набросал исходник утилиты, которая работает с INF-файлом, в котором обрабатывает какую-то предопределенную секцию, где указаны файлы на переименование, например:
[rename.section]
FileNameOld=FileNameNew
При этом есть возможность использовать все стандартные переменные INF-файлов, например %10%, %11%, %12%...
Чуть позже выложу это...