Инструменты пользователя

Инструменты сайта


develop:builder:fs

Работа с файловой системой

Перечисление содержимого каталога

TSearchRec SR;
int SRI;
SRI= FindFirst(FTPServFunc::TransLatePath(APath, ASender->HomeDir)+ "*.*", faAnyFile, SR);
while(SRI== 0)
{
	TIdFTPListItem *LFTPItem= ADirectoryListing->Add();
	LFTPItem->FileName= SR.Name;
	LFTPItem->Size= SR.Size;
	LFTPItem->ModifiedDate= FileDateToDateTime(SR.Time);
 
	if(SR.Attr== faDirectory)
		LFTPItem->ItemType= ditDirectory;
	else
		LFTPItem->ItemType= ditFile;
 
	SRI= FindNext(SR);
}
FindClose(SR);

Например удалить старые файлы

TSearchRec SR;
int SRI;
SRI= FindFirst(vTargetFolder+"*.*", faAnyFile, SR);
while(SRI== 0)
{
	if((SR.Name!= "..") && (SR.Name!= "."))
	{
		TDate vCreate= SR.TimeStamp.DateString();
		if((SR.Attr != faDirectory) && (vCreate != Now().CurrentDate()))
			DeleteFile(vFolderFTP+ SR.Name);
	}
 
	SRI= FindNext(SR);
}
FindClose(SR);

Информация о файле

struct stat vFileInfo;
stat(vPathToFile, &vFileInfo);
 
/*struct  _stat
{
    dev_t   st_dev;
    ino_t   st_ino;
    mode_t  st_mode;
    nlink_t st_nlink;
    uid_t   st_uid;
    gid_t   st_gid;
    dev_t   st_rdev;
    off_t   st_size;
    _TIME_T  st_atime;
    _TIME_T  st_mtime;
    _TIME_T  st_ctime;
};*/
develop/builder/fs.txt · Последнее изменение: 2021/07/18 10:34 — admin