FAT32 - это нечувствительная к регистру файловая система . Как таковые два файла с одинаковыми именами, отличающиеся только регистром, не допускаются. Например, вы не можете иметь два имени файла PS3000a.dll
и ps3000a.dll
в одной папке.
Поэтому, кажется, что ваша попытка переименовать файл PS3000a.dll
в ps3000a.dll
терпит неудачу, потому что для Windows 10 знает, что вы на самом деле не изменяя имя файла . Однако, если вы сначала переименуете файл, чтобы получить другое имя, а затем переименуйте его во второй раз, чтобы использовать тот случай, который вы намереваетесь, он работает.
Любопытно, что это не так в Windows 7. Вот операция переименования файлов в Process Monitor. Операция идентична во всех отношениях в Windows 10 и 7; ReplaceIfExists
флаг Ложные и результат УСПЕХ на обоих:
Однако, сравнивая полные трассировки только в окне Windows 7, следует SetRenameInformationFile
операция с WriteFile
операцией:
Windows 10 просто не записывает обновленную информацию в файловую систему!