delphi遍歷目錄下所有檔案

2021-08-21 08:22:09 字數 1711 閱讀 9376

procedure tbsfilebackupform.searchfile(path: pchar; fileext: string; filelist: tstringlist);

var

searchrec: tsearchrec;

found: integer;

tmpstr: string;

curdir: string;

dirs: tqueue;

pszdir: pchar;

begin

dirs := tqueue.create; //建立目錄佇列

dirs.push(path); //將起始搜尋路徑入隊

pszdir := dirs.pop;

curdir := strpas(pszdir); //出隊

while (true) do

begin

//加上搜尋字尾,得到類似'c:\*.*' 、'c:\windows\*.*'的搜尋路徑

tmpstr := curdir + '\*.*';

//在當前目錄查詢第乙個檔案、子目錄

found := findfirst(tmpstr, faanyfile, searchrec);

while found = 0 do //找到了乙個檔案或目錄後

begin

//如果找到的是個目錄

if (searchrec.attr and fadirectory) <> 0 then

begin

if (searchrec.name <> '.') and (searchrec.name <> '..') then

begin

tmpstr := curdir + '\' + searchrec.name;

dirs.push(strnew(pchar(tmpstr)));

end;

end

else //如果找到的是個檔案

begin

//把找到的檔案加到memo控制項

if fileext = '.*' then

filelist.add(curdir + '\' + searchrec.name)

else

begin

if sametext(rightstr(curdir + '\' + searchrec.name, length(fileext)), fileext) then

filelist.add(curdir + '\' + searchrec.name);

end;

end;

//查詢下乙個檔案或目錄

found := findnext(searchrec);

end;

if dirs.count > 0 then

begin

pszdir := dirs.pop;

curdir := strpas(pszdir);

strdispose(pszdir);

end

else

break;

end;

//釋放資源

dirs.free;

findclose(searchrec);

end;

shell遍歷目錄下所有檔案

filelist ls home work file for file in filelist do echo file done 一定要切記filelist 後邊的那個引號不是單引號,而是tab鍵上邊的那個鍵,或者說是1左邊的那個鍵。否則的話不起作用。唉,自己在上吃虧了好長時間。汗!如果ls後面的...

Java 遍歷目錄下所有檔案

file file new file files 2.申請兩個arrylist空間,乙個存放目錄,乙個存放檔案 listfilelist new arraylist 檔案儲存 listfileslistdir new arraylist 目錄儲存3.讀取目錄下的所有檔案 file filearr f...

遍歷目錄下的所有檔案

下面這段 演示了查詢乙個目錄下所有檔案的過程,將檔名存放在result.txt檔案中。void cmydlg oncollectallfilename myfile.writestring lpctstr myfinder.getfilepath t n mylist.removehead myfi...