كيف يتم حذف اول حرف من اسماء مجموعه ملفات
#11
[color="purple"]شكرا اخي على اهتمامك

ان شاء الله سأرفق لك صوره للملفات قبل وبعد تنفيذ الكود وايضا صوره بالوضع المطلوب
[/color]
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#12
السلام عليكم ورحمة الله

هذه بعض من الملفات المطلوب تطبيق الكود عليها

كود :
http://arabsh.com/files/0d32424f6cf0/new-folder-zip.html



حاول اخي الفاضل ان تطبق عليها الكود ولاحظ ان الامتداد تغير فعلا ولكن نص الامتدات الاول يبقى كما هو ..

ملحوظه الكود يتعامل مع الاسم والامتداد كسلسه نصية واحده وليس اسم وامتدات
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#13
وعليكم السلام ورحمة الله وبركاته

التعديل الوحيد بسبب وجود علامة ~
في بداية اسماء الملفات

كود :
var
OldN : TSearchRec;
NewN, Path : String;
begin
  Path := 'C:\Temp\New Folder\';
if FindFirst(Path+'*.*', faArchive, OldN) = 0 then
          begin
            repeat
                NewN := OldN.Name;
                 if UpperCase(Copy(NewN,1,3)) = '~ID' then
                 Delete(NewN,1,3);
                   if Copy(NewN,1,2) = '00' then
                    Begin
                     Delete(NewN,1,2);
                     NewN := ChangeFileExt(NewN,'.mod');
                    End;
                 ReNameFile(Path + OldN.Name ,Path + NewN);
            until FindNext(OldN) <> 0;
           FindClose(OldN);
          end;
end;
الرد
#14
كده الكود تمام الله ينور لكن الملفات التى لا تبدأ ب 00 لا يتم تغير الامتدات .

لكن اين اضع
كود :
NewN := ChangeFileExt(NewN,'.mod');
ليتم تنفذها خارج الجمله الشرطيه بمعنى في جميع الاحوال يتم تغير الامتدات ..

لان بعض الملفات لم يتم تغير امتدادتها

السلام عليكم
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#15
تم تعديل الكود ويعمل جيدا مع جميع الملفات الا ملف واحد ولا ادري لماذا ..

كود :
var
OldN : TSearchRec;
NewN, Path : String;
begin
  Path := 'C:\Temp\New Folder\';
if FindFirst(Path+'*.*', faArchive, OldN) = 0 then
          begin
            repeat
                NewN := OldN.Name;
                 NewN := ChangeFileExt(NewN,'.mod');
                 if UpperCase(Copy(NewN,1,3)) = '~ID' then
                 Delete(NewN,1,3);
                   if Copy(NewN,1,2) = '00' then
                    Begin
                     Delete(NewN,1,2);
                    End;
                 ReNameFile(Path + OldN.Name ,Path + NewN);
            until FindNext(OldN) <> 0;
           FindClose(OldN);
          end;
end;

سؤال اخر

كيف اضيف حرفين قبل اسم الملف وليكن ID ?
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#16
[color="purple"]سؤال اخر

كيف اضيف حرفين قبل اسماء الملفات وليكن id وكيف اضيف بعدها حرف e لتصبح ide إذا كانت اسماء الملفات مكونه من ثلاث حروف ؟

اما إذا كانت اسماء الملفات اكثر من ثلاث حروف فيتم إضافه كلمه ID فقط بدون حرف E

[COLOR="DarkGreen"]
ملحوظه
نفس عدد الملفات 400 ملف[/COLOR][/color]
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#17
السلام عليكم

هنا يتم التأكد ان كانت بداية الملف تحتوي على 00 (بعد حذف ID~) عندها يقوم بحذف الـ00 وتعديل اللاحقة
كود :
if Copy(NewN,1,2) = '00' then
                    Begin
                     Delete(NewN,1,2);
                     NewN := ChangeFileExt(NewN,'.mod');
                    End;

هنا يتم التأكد من أول ثلاثة حروف من اسم الملف
كود :
if UpperCase(Copy(NewN,1,3)) = '~ID' then

الرقم 3 يرمز الى عدد الحروف المراد التأكد منها
مثلاً لو اردت التأكد من حرفين فقط غير الرقم الى 2
وغير ID~ الى حرفين فقط مثلا D~
وهكذا....
الرد
#18
كيف اضيف احرف بدل من احذف
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#19
استخدم Insert

كود :
Insert('IDE',NewN,2)

IDE = الحروف التي تريد أضافتها
NewN = اسم الملف كما هو في المثال السابق
2 = الموقع الذي تريد بدء اضافة الحروف فيه، و الرقم 2 يعني بعد الحرف الأول
[-] كل من 1 user says قال شكرا ل m.rabee على المشاركة المفيدة
  • ELARAPY
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم