نمایش نتایج 1 تا 6 از 6

نام تاپیک: Rename کردن دسته جمعی فایل ها

  1. #1

    Question Rename کردن دسته جمعی فایل ها

    یه پوشه دارم که توش 5000 تا عکس داره از نوع .jpg
    بعضی از عکس ها اول اسمشون چند تا 0 دارن. مثلا 0001 یا 0015 یا 0765
    اگه بخوام همه فایل های این پوشه رو طوری Rename کنم که 0 ها از اول اسم فایل ها پاک بشن، چی کار باید بکنم؟

  2. #2

    نقل قول: Rename کردن دسته جمعی فایل ها

    با استفاده از FindFirst و FindNext لیست فایل های پوشه را بدست بیارید، و با استفاده از RenameFile نام هر فایل را تغییر بدید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  3. #3

    Question نقل قول: Rename کردن دسته جمعی فایل ها

    یه همچین کدی نوشتم کار می کنه. حالا اگه بخوام بگم اول هر کدوم که صفر هست و هر چند تا هست حذف کن چی کار کنم؟

    procedure TForm1.Button2Click(Sender: TObject);
    var
    sr: TSearchRec;
    FileAttrs: Integer;
    begin

    if FindFirst('*.jpg', faAnyFile, sr) = 0 then
    begin
    repeat
    Renamefile('001.jpg','1.jpg');
    until FindNext(sr) <> 0;
    FindClose(sr);
    end;

    end;


    یعنی فقط RenameFile رو الان باید اصلاح کنم. درسته؟
    آخرین ویرایش به وسیله Tarrah : پنج شنبه 05 آذر 1388 در 10:53 صبح

  4. #4

    نقل قول: Rename کردن دسته جمعی فایل ها

    سلام

    1- اگر مطمئن هستی که اسم فایلها فقط از عدد تشکیل شده ، اسم فایل رو جدا کن به عدد (integer) تبدیل کن و دوباره به string تبدیل کن و فایلت رو تغییر نام بده اینجوری صفرهای اولش حذف میشه

    2- باید با استفاده از دستور copy تعداد صفر ها رو بشمری و حذفشون کنی

    3- بدون توجه به نام فایل با یه کانتر شروع به نام گذاری کن

    موفق باشی

  5. #5

    نقل قول: Rename کردن دسته جمعی فایل ها

    یه همچین کدی نوشتم کار می کنه. حالا اگه بخوام بگم اول هر کدوم که صفر هست و هر چند تا هست حذف کن چی کار کنم؟
    اسم فایل را که به دست آوردید، می تونید کدی مثل این بنویسید:

    var
    sr: TSearchRec;
    i : Integer;
    NewFileName,
    Path : TFileName;
    begin
    Path := 'C:\';
    if FindFirst(Path + '*.jpg', faAnyFile, sr) = 0 then
    try
    repeat
    for i := 1 to Length(sr.Name) do
    if sr.Name[i] <> '0' then
    Break;
    NewFileName := Path + Copy(sr.Name,i,Length(sr.Name)-i);
    RenameFile(Path + sr.Name, NewFileName);
    until FindNext(sr) <> 0;
    finally
    FindClose(sr);
    end;
    end;


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  6. #6

    نقل قول: Rename کردن دسته جمعی فایل ها

    خیلی ممنون از راهنمایی هاتون
    هر چند فرمایش شما جامع تر هست ولی با این کد مشکلم حل شد
    کد شما رو هم امتحان می کنم



    procedure TForm1.Button2Click(Sender: TObject);
    var
    sr: TSearchRec;
    i,first,last: Integer;
    begin
    first:=strtoint(edit2.Text);
    last:=strtoint(edit3.Text);
    if FindFirst('*.jpg', faAnyFile, sr) = 0 then
    begin
    for i:=first to last do
    Renamefile(edit1.Text+inttostr(i)+'.jpg',inttostr( i)+'.jpg');
    FindClose(sr);
    end;
    end;


قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •