Можно использовать
os.listdir(path)
Для ссылки, и больше функций OS смотрит здесь:
А как насчет использования метода CreateFile ()?
var
FileName : PChar;
hMyFile : THandle;
...
hMyFile := CreateFile(FileName,
GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,
FILE_ATTRIBUTE_TEMPORARY,
0);
if (hMyFile = INVALID_HANDLE_VALUE) then begin
// Error
end;
...
CloseHandle(hMyFile);
Чтобы объединить флаг с FILE_FLAG_DELETE_ON_CLOSE
, используйте или
:
hMyFile := CreateFile(FileName,
GENERIC_WRITE,
0,
nil,
CREATE_ALWAYS,
FILE_ATTRIBUTE_TEMPORARY or FILE_FLAG_DELETE_ON_CLOSE,
0);
Временный флаг просто указывает, что вы хотите, чтобы запись на диск была как можно позже . Как раз наоборот, вы хотели бы иметь файл журнала, поскольку вы хотите, чтобы содержимое файла было безопасно записано на диск, чтобы вы могли получить к нему доступ даже в случае сбоя системы.
Цитата из Страница MSDN для CreateFile () :
Указание атрибута
FILE_ATTRIBUTE_TEMPORARY
заставляет файловые системы избегать записи данных обратно в запоминающее устройство, если доступно достаточное количество кэш-памяти, поскольку приложение удаляет временный файл после закрытия дескриптора. В этом случае система может полностью избежать записи данных. Хотя он не контролирует кэширование данных напрямую так же, как ранее упомянутые флаги,