delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يتم حذف اول حرف من اسماء مجموعه ملفات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
[COLOR="DarkGreen"]السلام عليكم ورحمة الله وبركاته
على سبيل المثال عندي 400 ملف كل منهم يبدأ أسمه بكلمة id
id01 - id02 - id03
كيف يتم حذف كلمة id من ال 400 ملف مره واحده
لاني حاولت ان اقوم بها من خلال ال Dos ولم اتمكن
شكرا جزيلا[/COLOR]
وعليكم السلام ورحمة الله وبركاته

كود :
var OldN,NewN : TSearchRec; Path : String; begin Path := 'C:\Temp\'; if FindFirst(Path+'*.*', faArchive, OldN) = 0 then begin repeat NewN.Name := (OldN.Name); Delete(NewN.Name,1,2); ReNameFile(Path + OldN.Name ,Path + NewN.Name); until FindNext(OldN) <> 0; FindClose(OldN); end;

لا أعرف إن كان هناك أسهل من هذه الطريقة ولكنها تؤدي العمل بكل الأحوال Smile

أيضاً يمكنك تعديل الاسماء من خلال powershell

كود :
gci *.pas | rename-item -newname { [string]($_.name).substring(2) }
[COLOR="DarkGreen"]بارك الله فيك اخي m.rabee
الكود يعمل جيدا
[/COLOR]
[COLOR="Purple"]
لي سؤال بنفس الصدد
كيف اقوم بحذف اول حرفين بعد كلمه ID اذا كانا الحرفين 00 مع تغير امتدات الملف ؟
مثلا اسم الملف id0001.rpm - id0002.rpm - id0804.rpm
لتصبح الاسماء هكذا ..
كود :
01.mod - 02.mod - 0804.mod

[/COLOR]
اهلا أخي ELARAPY

كود :
var OldN : TSearchRec; NewN, Path : String; begin Path := 'C:\Temp\'; if FindFirst(Path+'*.*', faArchive, OldN) = 0 then begin repeat NewN := OldN.Name; if (UpperCase(NewN[1]) = 'I') and (UpperCase(NewN[2]) = 'D') then Delete(NewN,1,2); if (NewN[1] = '0') and (NewN[2] = '0') then Begin Delete(NewN,1,2); Delete(NewN,Length(NewN)-3,4); NewN := NewN+'.meg'; End; ReNameFile(Path + OldN.Name ,Path + NewN); until FindNext(OldN) <> 0; FindClose(OldN); end; end;
السلام عليكم ورحمة الله

الكود يعمل جيدا ولكن لم يقم بتغير اسم الملف id0804.rpm
elarapy كتب :الكود يعمل جيدا ولكن لم يقم بتغير اسم الملف id0804.rpm

وعليكم السلام ورحمة الله وبركاته

أنت أردت أن تحول الاسم في حال كان يبدأ بـ id ثم 00
إقتباس :كيف اقوم بحذف اول حرفين بعد كلمه ID اذا كانا الحرفين 00 مع تغير امتدات الملف ؟

والملف الذي ذكرته يحتوي على 0 واحدة بعد الـ id فطبعاً لن يتغير اسمه
هذه الصوره لتوضيح الفكره
كود :
http://im38.gulfup.com/cmGZw.bmp
علما بإن امتدات الملفات الجديد هو mod ..
ملحوظه :
جميع الملفات الاصليه تحمل اربع احرف بعد كلمة ID .
جميع الملفات بعد التسمية تحمل حرفين الى اربع احرف .
ملحوظه اخرى :
بعد تجربه الكود لوحظ بإن الامتدات الجديد يضاف ولكن لا يتم حذف الامتدات القديم .
عدل الكود التالي:

كود :
if (NewN[1] = '0') and (NewN[2] = '0') then Begin Delete(NewN,1,2); Delete(NewN,Length(NewN)-3,4); NewN := NewN+'.meg'; End;

الى

كود :
if (NewN[1] = '0') and (NewN[2] = '0') then Begin Delete(NewN,1,2); NewN := ChangeFileExt(NewN,'.mod'); End;
السلام عليكم

الكود يعمل جيدا ولكن بقيت مشكله بسيطه وهي انه بعد تغير الامتدات يبقى اسم الامتدات القديم موجود كأنه نص ولم يحذف
وعليكم السلام

لقد قمت بتجربة الكود أكثر من مرة ولم اواجه هذه المشكلة !
الصفحات : 1 2