СообЧа > База Знаний > Программирование > Delphi

Вопрос

Удаление файлов из временного каталога, безопасно ли?

Ответ

При получении имени папки предназначенной для хранения временных файлов могут возникнуть некоторые проблемы.
Прекрасно это выглядит, когда в качестве каталога временных файлов назначен например C:\Windows :0(
Особенно пикантно это выглядит, в свете того, что
Remarks
Windows 95/98/Me: The GetTempPath function gets the temporary file path as follows:

The path specified by the TMP environment variable. The path specified by the TEMP environment variable, if TMP is not defined or if TMP specifies a directory that does not exist. The current directory, if both TMP and TEMP are not defined or specify nonexistent directories.

Этак переименовываешь C:\TEMP — и программа чистит текущий каталог :-)

Windows NT/2000 or later:

The GetTempPath function does not verify that the directory specified by the TMP or TEMP environment variables exists.

The function gets the temporary file path as follows:

The path specified by the TMP environment variable. The path specified by the TEMP environment variable, if TMP is not defined. The Windows directory, if both TMP and TEMP are not defined.

Этак удаляешь переменные окружения — и программа "деинсталлирует" Windows
Из этого вытекает следующее, удаление файлов из л юбого каталога, особенно из временного чрезвычайно поасная операция, не ты создал — не трогай. Удалять только ручками, глядя на файлы и принимая решения индивидуально по каждому файлу.

При использовании функции GetTempPath проверить если подстрока TEMP в результате и в случае отсутствия вхождения запросить пользователя для принятия решения, с рекомендацией создать каталог TEMP и необходимые переменные среды, лучше посоветоваться обратиться к администратору для принятия решения. Это простое правило позволит избежать серьезных последствий.

Из конференции Delphi



Copyright © 2000-2004 Сообщество Чайников
Контактная информация