Delphi rename all file in a directory

 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.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值