您的位置:首页 > 编程语言 > Delphi

Delphi rename all file in a directory

2009-06-23 18:10 555 查看
 unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ShellCtrls, ExtCtrls, StdCtrls, Grids, Outline,
  DirOutln;

type
  TMainForm = class(TForm)
    DirView: TShellTreeView;
    FileView: TShellListView;
    Panel1: TPanel;
    btnChange: TButton;
    Splitter1: TSplitter;
    Label2: TLabel;

    procedure btnChangeClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses Help;

{$R *.dfm}

procedure TMainForm.btnChangeClick(Sender: TObject);
var
   i,n: Integer;
  objectfilename, sourcefilename,newfile,sPath: String;
begin
  //waring!
    if Application.MessageBox('do you true rename?','OK', MB_YESNO) = IDNO then
      Exit;

    objectfilename := '';
    newfile:='';
    //get filedirctory
    if (FileView.Items.Count > 0) then
      sPath := ExtractFilePath(FileView.Folders[0].pathname);    //filepath
    //rename begin
    for i:=0 to FileView.Items.Count-1 do
    begin
      sourcefilename := FileView.Folders[i].pathname;
      //ShowMessage('sourcefilename= '+sourcefilename);
      n := Length(ExtractFileExt(sourcefilename));
     objectfilename:=ExtractFileName(sourcefilename);  //filename
       //repalce()
      objectfilename:= stringReplace(objectfilename,#32,'-',[rfReplaceAll]);
      objectfilename:= stringReplace(objectfilename,'---','-',[rfReplaceAll]);
      objectfilename:= stringReplace(objectfilename,'--','-',[rfReplaceAll]);

      newfile := sPath + objectfilename    ;
     // ShowMessage('newfile= '+newfile);
      RenameFile(sourcefilename, newfile);
    end;
    ShowMessage('work end!');
  end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  DirView.SetVisiblePath(ExtractFilePath(Application.ExeName));
end;

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息