الاخ Done فكل الشكر له على العون والمساعدة الذى يقدمه للجميع
فبارك الله له فيما يقدمه من خيراً ومساعدة للاخرين فشكراً له والشكر لله
بخصوص ما اعنيه بهذه العلامة مثال التالى
الـ * الاولى فى بداية كتابتها
تعنى اى حرف واى رقم واى رمز لاسم الملف
والـ . هو الفاصل بين اسم الملف و صيغة الملف
والـ * الثانية والتى بنهاية وهنا تعنى اى حرف واى رقم واى رمز لكن لصيغة الملف
وعندما قلت تغيير مثل .text الى .* اقصد بها انه سيضح كل الصيخ حتى لو كان الملف تحت امتداد .ini
لان بكل مجلد يوجد به ملفات مخفية وتحتوى على امتداد محددة
فمن الممكن ان تقوم بعمل حذف مثلاً حرف واحد كمثال
فتجد بنفسك انك مجدد الدريف c وقام بتغيير الحرف لملفات مخفية على لـ C مثل ملفات البوت
فتجد نفسك بعد اعادة تشغيلا لجهاز لا يعمل معك لذلك قمت بوضع الامتداد فى المشروع
الشرح لتوضيح والحرص لعدم تحديد مسار الـ C والانتباه لذلك الامر
تحياتى لك
وتمنياتى لك التوفيق
(25-07-18, 01:57 PM)elgokr كتب : [ -> ]الاخ Done فكل الشكر له على العون والمساعدة الذى يقدمه للجميع
فبارك الله له فيما يقدمه من خيراً ومساعدة للاخرين فشكراً له والشكر لله
بخصوص ما اعنيه بهذه العلامة مثال التالى
الـ * الاولى فى بداية كتابتها
تعنى اى حرف واى رقم واى رمز لاسم الملف
والـ . هو الفاصل بين اسم الملف و صيغة الملف
والـ * الثانية والتى بنهاية وهنا تعنى اى حرف واى رقم واى رمز لكن لصيغة الملف
وعندما قلت تغيير مثل .text الى .* اقصد بها انه سيضح كل الصيخ حتى لو كان الملف تحت امتداد .ini
لان بكل مجلد يوجد به ملفات مخفية وتحتوى على امتداد محددة
فمن الممكن ان تقوم بعمل حذف مثلاً حرف واحد كمثال
فتجد بنفسك انك مجدد الدريف c وقام بتغيير الحرف لملفات مخفية على لـ C مثل ملفات البوت
فتجد نفسك بعد اعادة تشغيلا لجهاز لا يعمل معك لذلك قمت بوضع الامتداد فى المشروع
الشرح لتوضيح والحرص لعدم تحديد مسار الـ C والانتباه لذلك الامر
تحياتى لك
وتمنياتى لك التوفيق
ماشاء الله ولا قوة الا بالله والله يا استاذى انت اسطورة لا تضع اى مشروع والسلام بل بتوضح كى يفهم السائل ماذا بيفعل ربنا يحفظك من كل سوء يارب...
ربنا يزيدك من علمه ويجعلك عوناً للجميع ويبارك بعمرك اللهم أمين.
اللهم امين لى ولك وللجميع يارب
فخالص التحية لك
وتمنياتى لك التوفيق
(25-07-18, 12:01 PM)ابو روضة كتب : [ -> ] (25-07-18, 11:42 AM)mrnooo2000 كتب : [ -> ]الاخ السائل
الكود التالى به ما تريد
كود :
Private Sub RenameFiles(FolderPath As String, Words() As String)
Try
Dim NewName As String = ""
Dim d As IO.DirectoryInfo = New IO.DirectoryInfo(FolderPath)
Dim infos() As IO.FileInfo = d.GetFiles
For Each f As IO.FileInfo In infos
NewName = f.Name
For Each wrd In Words
NewName = NewName.Replace(wrd, "")
Next
IO.File.Move(f.FullName, TxtDir.Text & "\" & NewName.Trim)
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
انا فضلت ان اتعامل مع اسم الملف فقط حتى لا تحدث اخطاء عند وجود الكلمات التى تستبدلها فى اسم المجلد
و لاستخدام الكود
يمكنك ان تستخدم الكود التالى
كود :
Dim Wrds() = TextBox1.Text.Split(",")
RenameFiles("D:\MyFolder", Wrds)
شكرا لك اخى الكريم لكن مش بيحذف اى حاجة من الكلمات التى اريد حذفها
هو انا الكود الذى وضعته فى اول المشاركة شغال تمام لكنى اريد أن أجعله يقبل كذا اسم يعنى
مثلا عندى مجلد وبه ملفات هكذا
mrnooo2000 _1
mrnooo2000 _2
mrnooo2000 _3
mrnooo2000 _4
mrnooo2000 _5
فاريد حذف هذه الكلمات 2000 m , , n من جميع هذه الملفات مرة واحدة
أخى الفاضل الكود يفعل هذا بالفعل و هو نفس الكود الذى استخدمه الاخوة بعد ذلك
ربما أنت طبقته بشكل غير صحيح
عموما طالما وصلت لحل مشكلتك بالتوفيق
(25-07-18, 05:56 PM)mrnooo2000 كتب : [ -> ] (25-07-18, 12:01 PM)ابو روضة كتب : [ -> ] (25-07-18, 11:42 AM)mrnooo2000 كتب : [ -> ]الاخ السائل
الكود التالى به ما تريد
كود :
Private Sub RenameFiles(FolderPath As String, Words() As String)
Try
Dim NewName As String = ""
Dim d As IO.DirectoryInfo = New IO.DirectoryInfo(FolderPath)
Dim infos() As IO.FileInfo = d.GetFiles
For Each f As IO.FileInfo In infos
NewName = f.Name
For Each wrd In Words
NewName = NewName.Replace(wrd, "")
Next
IO.File.Move(f.FullName, TxtDir.Text & "\" & NewName.Trim)
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
انا فضلت ان اتعامل مع اسم الملف فقط حتى لا تحدث اخطاء عند وجود الكلمات التى تستبدلها فى اسم المجلد
و لاستخدام الكود
يمكنك ان تستخدم الكود التالى
كود :
Dim Wrds() = TextBox1.Text.Split(",")
RenameFiles("D:\MyFolder", Wrds)
شكرا لك اخى الكريم لكن مش بيحذف اى حاجة من الكلمات التى اريد حذفها
هو انا الكود الذى وضعته فى اول المشاركة شغال تمام لكنى اريد أن أجعله يقبل كذا اسم يعنى
مثلا عندى مجلد وبه ملفات هكذا
mrnooo2000 _1
mrnooo2000 _2
mrnooo2000 _3
mrnooo2000 _4
mrnooo2000 _5
فاريد حذف هذه الكلمات 2000 m , , n من جميع هذه الملفات مرة واحدة
أخى الفاضل الكود يفعل هذا بالفعل و هو نفس الكود الذى استخدمه الاخوة بعد ذلك
ربما أنت طبقته بشكل غير صحيح
عموما طالما وصلت لحل مشكلتك بالتوفيق
ممكن اكون فعلا استخدمته بشكل خاطئ لكن كتر الف خيرك طبعا اخى واعتذر تعبتك معايا
لكن ممكن تقول الطريقة الصحيحة لاستخدامه لانى استخدمت هنذا المسار بتاع المجلد FolderPath
وفى التكست بوكس كتبت الكلمات التى اريد حذفهالكنها لم تُحذف فمش عارف هل هذا الاستخام سحيح أم لا
لقد وضحت استخدام الكود فى المشاركة
كود :
Dim Wrds() = TxtWords.Text.Split(",")
الكود السابق يقوم بتقسيم الكلمات التى ادخلتها فى التكست بوكس الى مصفوفة
اسم مربع النص TxtWords او غير اسمه حسب ما لديك
كود :
RenameFiles(TxtDir.Text, Wrds)
هذا الكود يقوم بحذف الكلمات المحددة من اسماء الملفات الموجودة فى المسار المحدد
اسم مربع النص الذى يتم ادخال مسار المجلد به هو TxtDir او غير الاسم حسب ما لديك
(27-07-18, 04:30 PM)mrnooo2000 كتب : [ -> ]لقد وضحت استخدام الكود فى المشاركة
كود :
Dim Wrds() = TxtWords.Text.Split(",")
الكود السابق يقوم بتقسيم الكلمات التى ادخلتها فى التكست بوكس الى مصفوفة
اسم مربع النص TxtWords او غير اسمه حسب ما لديك
كود :
RenameFiles(TxtDir.Text, Wrds)
هذا الكود يقوم بحذف الكلمات المحددة من اسماء الملفات الموجودة فى المسار المحدد
اسم مربع النص الذى يتم ادخال مسار المجلد به هو TxtDir او غير الاسم حسب ما لديك
تسلم اخى ربنا يكرمك وجزاك الله كل خير