delphi 修改資料夾名和檔名

2021-04-16 19:32:34 字數 2554 閱讀 7977

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, stdctrls,filectrl,shellapi;

type

tform1 = class(tform)

button1: tbutton;

memo1: tmemo;

procedure button1click(sender: tobject);

private

public

end;

varform1: tform1;

countd,countf:integer;

sum:integer;

implementation

// example, beispiel:

function   rendirectory(const   oldname,newname:string):   boolean;

varfo:   tshfileopstruct;

begin

fillchar(fo,   sizeof(fo),   0);

with   fo   do

begin

wnd   :=   0;

wfunc   :=   fo_rename;

pfrom   :=   pchar(oldname+#0);

pto   :=   pchar(newname+#0);

fflags   :=   fof_noconfirmation+fof_silent;

end;  

result   :=   (shfileoperation(fo)   =   0);

end; 

procedure   search(dir:string);  

var  

targetpath:string;  

sr:tsearchrec;  

begin

targetpath:=extractfilepath(dir);  

if   findfirst(dir,faanyfile,sr)=0   then

repeat

if((sr.name<>'.')and(sr.name<>'..')  

and((filegetattr(targetpath+sr.name)and   fadirectory)<>fadirectory))  

then  

begin

sum:=sum+1;

renamefile(targetpath+sr.name, targetpath+inttostr(sum));

countf:=countf+1;

enduntil   findnext(sr)<>0;  

if   findfirst(dir,faanyfile,sr)=0   then  

repeat  

if((sr.name<>'.')and(sr.name<>'..'))  

and((filegetattr(targetpath+sr.name)and   fadirectory)=fadirectory)  

then  

begin

sum:=sum+1;

rendirectory(targetpath+sr.name, targetpath+inttostr(sum));

search(targetpath+inttostr(sum)+'/*.*');

//search(targetpath+sr.name+'/*.*');

countd:=countd+1;  

enduntil   findnext(sr)<>0;  

end;  

procedure tform1.button1click(sender: tobject);

varcurpath,s: string;

dt:tdatetime;

fdt:double;

begin

s := '';

if selectdirectory('選擇要修改名字的資料夾', '', s) then

begin

countf:=0;

countd:=0;

randomize;

sum:= 10000+random(1000000-10000+1); ;

search(s);

showmessage('共更改目錄:'+inttostr(countd)+' 個,檔案:'+inttostr(countf)+' 個')

end;

end;

end.

//renamefile('oldname', 'newname');

//copyfile(pchar('oldname'), pchar('newname'), false);

//movefile(pchar('oldname'), pchar('newname'));

delphi建立資料夾和檔案

使用forcedirectories函式,該函式支援多級資料夾建立 1.建立資料夾 全域性變數 const rmb suffixs array 0.6 of string txt txt 0.txt 00.txt 000.txt 0000.txt 00000.txt varpaths array 0...

遍歷資料夾修改檔名

php獲取目錄中的所有檔名 1 先開啟要操作的目錄,並用乙個變數指向它 開啟當前目錄下的目錄lala資料夾 handler opendir lala 檔名 2 迴圈的讀取目錄下的所有檔案 其中 filename readdir handler 是每次迴圈的時候將讀取的檔名賦值給 filename,為...

Linux中修改檔案和資料夾許可權

語法如下 chmod who mode 檔名 命令中各選項的含義為 u 表示 使用者 user 即檔案或目錄的所有者。g 表示 同組 group 使用者 即與檔案屬主有相同組id的所有使用者。o 表示 其他 others 使用者 a 表示 所有 all 使用者 它是系統預設值。操作符號可以是 新增某...