http://rsdn.ru/article/qna/baseserv/fileop.xml
Функция MoveFile имеет ряд ограничений. Во-первых, она не позволяет обработать ситуацию, когда уже имеется файл с именем toName.
|
Создал на винте файл test.txt (с тестовым наполнением), а на флешке TEST.txt (пустой).
Запустил блитц и выполнил
CopyFile("F:io\test.txt","H:test.txt")
Результат: содержимое файла на флешке обновилось (скопировалось с винта), а вот имя осталось заглавным.
Выполняю код ещё раз. Имя по-прежнему остаётся неизменным. О чём и говорил АВТОМАТик.
Правда, с флешки на винт - ситуация аналогичная. То есть от типа носителей результат не зависит.
(быть может, поведение функции в разных версиях ОС немного разнится, как это уже не раз бывало, и, возможно, 8-ка корректно выполняет переименование в отличии от 7-ки)
http://rsdn.ru/article/qna/baseserv/fileop.xml
Для преодоления указанных ограничений имеется функция MoveFileEx( ).
|
Видимо, проводник использует её, а сторонние утилиты - на усмотрение авторов. В совокупности с тем, что алгоритмы проверки имён могут быть регистрозависмыми, это может привести к некоторым эффектами работы программы.
Вывод - не балуйся с регистром.