对于没有子目目录的一个类型的文件我作过 文本,网页读取他们的特定的行作为他的文件名 给你一段代码 procedure TForm1.Button3Click(Sender: TObject); var f:System.TextFile; name,name2,SourceDir:string; i,ii:integer; begin ii:=strtoint(edit5.Text); SetLength(name,1000); for i:=0 to (filelistbox1.Count-1) do begin filelistbox1.ItemIndex:=i; SourceDir:=filelistbox1.FileName; AssignFile(f,SourceDir); Reset(f); readln(f,name); closefile(f); //前面的部分是从文件中读取一行文字 name2:=copy(name,1,ii); //取前面的ii/2个字 name2:=trim(name2)+'.txt'; if RenameFile(SourceDir,name2)=true then //filelistbox1.Update else //showmessage('有同名文件!'); end; end;
如果要对一个目录下的所有的(一个类型的)文件进行重命名可以如下作: 给你一段别个写的代码是查找*.mp3的 遍历目录,cAkk的,cAkk别气哦! 一个函数,结果用参数foundresult返回: function SearchFile(mainpath:string;filename:string; var foundresult:TStrings):Boolean; var i:integer; Found:Boolean; subdir1:TStrings; searchRec:TsearchRec; begin if right(mainpath,1)<>'\' then mainpath:=mainpath+'\'; found:=false; if Trim(filename)<>'' then begin subdir1:=TStringList.Create; if (FindFirst(mainpath+'*.*', faDirectory,SearchRec)=0) then begin if IsValidDir(SearchRec) then subdir1.Add(SearchRec.Name); while (FindNext(SearchRec) = 0) do begin if IsValidDir(SearchRec) then subdir1.Add(SearchRec.Name); end; end; FindClose(SearchRec); //查找当前目录。 if (FindFirst(mainpath+'*.*', faAnyFile-faDirectory, SearchRec)=0) then begin foundresult.Add(mainpath+SearchRec.Name); while (FindNext(SearchRec) = 0) do begin foundresult.Add(mainpath+SearchRec.Name); end; end; FindClose(SearchRec); for i:=0 to subdir1.Count-1 do found:=Searchfile(mainpath+subdir1.Strings[i]+ '\',Filename,foundresult)or found; subdir1.Free; end; result:=found; end;function IsValidDir(SearchRec:TSearchRec):Boolean; begin if (SearchRec.Attr=16) and (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then Result:=True else Result:=False; end;
procedure TForm1.Button1Click(Sender: TObject); var s,s1,Directory:string; begin Directory:=Self.DirectoryListBox1.Directory; s:=Self.Edit1.Text; s1:=Self.Edit2.Text; if (s='') or (s1='') then Exit; if s[1]<>'.' then s:='.'+s; if s1[1]<>'.' then s1:='.'+s1; Self.ExtractFileExtt(Directory,s1,s); MessageBox(application.Handle,'扩展名修改完成','信息',MB_OK or MB_ICONINFORMATION); end; procedure TForm1.ExtractFileExtt(directory,expandname_old,expadname_new: string); var searchrec:TSearchRec; s,s1:string; begin if Directory[Length(Directory)] <> '\' then Directory := Directory + '\'; if FindFirst(Directory + '*.*' , faAnyFile, SearchRec) = 0 then begin repeat if (SearchRec.Attr and fadirectory=fadirectory) and (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then begin ExtractFileExtt(directory+searchrec.Name,expandname_old,expadname_new); end; if SearchRec.Attr and faArchive=faArchive then begin s:=ExtractFileExt(SearchRec.Name); if s=expandname_old then begin s1:=ChangeFileExt(directory+SearchRec.Name,expadname_new); RenameFile(directory+SearchRec.Name,s1) end; end; until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; end;
文本,网页读取他们的特定的行作为他的文件名
给你一段代码
procedure TForm1.Button3Click(Sender: TObject);
var
f:System.TextFile;
name,name2,SourceDir:string;
i,ii:integer;
begin
ii:=strtoint(edit5.Text);
SetLength(name,1000);
for i:=0 to (filelistbox1.Count-1) do
begin
filelistbox1.ItemIndex:=i;
SourceDir:=filelistbox1.FileName;
AssignFile(f,SourceDir);
Reset(f);
readln(f,name);
closefile(f);
//前面的部分是从文件中读取一行文字
name2:=copy(name,1,ii);
//取前面的ii/2个字
name2:=trim(name2)+'.txt';
if RenameFile(SourceDir,name2)=true then
//filelistbox1.Update
else
//showmessage('有同名文件!');
end;
end;
给你一段别个写的代码是查找*.mp3的
遍历目录,cAkk的,cAkk别气哦!
一个函数,结果用参数foundresult返回:
function SearchFile(mainpath:string;filename:string; var foundresult:TStrings):Boolean;
var
i:integer;
Found:Boolean;
subdir1:TStrings;
searchRec:TsearchRec;
begin
if right(mainpath,1)<>'\' then mainpath:=mainpath+'\';
found:=false;
if Trim(filename)<>'' then
begin
subdir1:=TStringList.Create;
if (FindFirst(mainpath+'*.*', faDirectory,SearchRec)=0) then
begin
if IsValidDir(SearchRec) then subdir1.Add(SearchRec.Name);
while (FindNext(SearchRec) = 0) do
begin
if IsValidDir(SearchRec) then subdir1.Add(SearchRec.Name);
end;
end;
FindClose(SearchRec);
//查找当前目录。
if (FindFirst(mainpath+'*.*', faAnyFile-faDirectory, SearchRec)=0) then
begin
foundresult.Add(mainpath+SearchRec.Name);
while (FindNext(SearchRec) = 0) do
begin
foundresult.Add(mainpath+SearchRec.Name);
end;
end;
FindClose(SearchRec);
for i:=0 to subdir1.Count-1 do
found:=Searchfile(mainpath+subdir1.Strings[i]+
'\',Filename,foundresult)or found;
subdir1.Free;
end;
result:=found;
end;function IsValidDir(SearchRec:TSearchRec):Boolean;
begin
if (SearchRec.Attr=16) and
(SearchRec.Name<>'.') and
(SearchRec.Name<>'..') then
Result:=True
else
Result:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s,s1,Directory:string;
begin
Directory:=Self.DirectoryListBox1.Directory;
s:=Self.Edit1.Text;
s1:=Self.Edit2.Text;
if (s='') or (s1='') then
Exit;
if s[1]<>'.' then
s:='.'+s;
if s1[1]<>'.' then
s1:='.'+s1;
Self.ExtractFileExtt(Directory,s1,s);
MessageBox(application.Handle,'扩展名修改完成','信息',MB_OK or MB_ICONINFORMATION);
end;
procedure TForm1.ExtractFileExtt(directory,expandname_old,expadname_new: string);
var
searchrec:TSearchRec;
s,s1:string;
begin
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
if FindFirst(Directory + '*.*' , faAnyFile, SearchRec) = 0 then
begin
repeat
if (SearchRec.Attr and fadirectory=fadirectory) and (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
begin
ExtractFileExtt(directory+searchrec.Name,expandname_old,expadname_new);
end;
if SearchRec.Attr and faArchive=faArchive then
begin
s:=ExtractFileExt(SearchRec.Name);
if s=expandname_old then
begin
s1:=ChangeFileExt(directory+SearchRec.Name,expadname_new);
RenameFile(directory+SearchRec.Name,s1)
end;
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;