25-07-18, 11:42 AM (آخر تعديل لهذه المشاركة : 25-07-18, 11:52 AM {2} بواسطة 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)
25-07-18, 12:01 PM (آخر تعديل لهذه المشاركة : 25-07-18, 12:32 PM {2} بواسطة ابو روضة.)
(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 من جميع هذه الملفات مرة واحدة
Dim x As String = "CrazyTalk Animator Preview" Dim d As DirectoryInfo = New DirectoryInfo("C:\DirectoryToAccess") Dim infos As FileInfo() = d.GetFiles(x & "*.*") For Each f As FileInfo In infos Dim fn As String = f.FullName fn = fn.Replace(x, "") My.Computer.FileSystem.RenameFile(f.FullName, Path.GetFileName(fn)) Next
Dim x As String = "CrazyTalk Animator Preview" Dim d As DirectoryInfo = New DirectoryInfo("C:\DirectoryToAccess") Dim infos As FileInfo() = d.GetFiles(x & "*.*") For Each f As FileInfo In infos Dim fn As String = f.FullName fn = fn.Replace(x, "") My.Computer.FileSystem.RenameFile(f.FullName, Path.GetFileName(fn)) Next
جزاك الله كل خير اخى الكريم بس انا اريده يحذف كذا كلمة احددها انا
يعنى لو ملفات بها كلمات كثيرة فاريد حذف مثلا اول كلمة والكلمة اللى فى الوسط والكلمة اللى قبل الأخيرة
يعنى تحديد كذا كلمة ليس كلمة واحدة....... الله يكرمك
استبدلت Fullname ب Name فقط فأصبح المغير fn يحتوي اسم الملف فقط بدون المسار
ومنه تستطيع التعامل معه كيفما شئت
شرط ان لا تتشابه الاسماء والا سيحصل خطا
تفضل التعديل
PHP كود :
Dim x As String = "mrnooo2000" Dim d As DirectoryInfo = New DirectoryInfo("C:\DirectoryToAccess") Dim infos As FileInfo() = d.GetFiles(x & "*.*") For Each f As FileInfo In infos Dim fn As String = f.Name fn = "rooo" & fn.Replace(x, "") My.Computer.FileSystem.RenameFile(f.FullName, fn) Next
(25-07-18, 12:58 PM)Done كتب : استبدلت Fullname ب Name فقط فأصبح المغير fn يحتوي اسم الملف فقط بدون المسار
ومنه تستطيع التعامل معه كيفما شئت
شرط ان لا تتشابه الاسماء والا سيحصل خطا
تفضل التعديل
PHP كود :
Dim x As String = "mrnooo2000" Dim d As DirectoryInfo = New DirectoryInfo("C:\DirectoryToAccess") Dim infos As FileInfo() = d.GetFiles(x & "*.*") For Each f As FileInfo In infos Dim fn As String = f.Name fn = "rooo" & fn.Replace(x, "") My.Computer.FileSystem.RenameFile(f.FullName, fn) Next
تسلم اخى الحبيب لكن عشان تكون الصورة واضحة امامك انا اريد تحديد كذا اسم داخل التكست بوكس
ليقوم البرنامج بحذفهم لآن الملف مثلا يكون اسمه " CrazyTalk Animator Preview sami abo Character " هكذا
سيتم تقسيم محتوى التكست بوكت من الفاصلة وثم المرور على عانصر التقسيم وحذفها من اسم الملف
PHP كود :
Dim d As DirectoryInfo = New DirectoryInfo("C:\DirectoryToAccess") Dim infos As FileInfo() = d.GetFiles("*.*") For Each f As FileInfo In infos Dim fn As String = f.Name For Each x As String In TextBox1.Text.Split(",") fn = fn.Replace(x, "") Next If f.Name <> fn Then My.Computer.FileSystem.RenameFile(f.FullName, fn) End If Next
(25-07-18, 01:18 PM)Done كتب : سيتم تقسيم محتوى التكست بوكت من الفاصلة وثم المرور على عانصر التقسيم وحذفها من اسم الملف
PHP كود :
Dim d As DirectoryInfo = New DirectoryInfo("C:\DirectoryToAccess") Dim infos As FileInfo() = d.GetFiles("*.*") For Each f As FileInfo In infos Dim fn As String = f.Name For Each x As String In TextBox1.Text.Split(",") fn = fn.Replace(x, "") Next If f.Name <> fn Then My.Computer.FileSystem.RenameFile(f.FullName, fn) End If Next
الله يسعدك ويبارك بعمرك يارب فعلا هذا ما كنت أبحث عنه ونجحت فعلا....
مع امكانيات تحديد صيغة الملف كما تشاء اذا كان للجميع من تحويل الصيعة
PHP كود :
من .txt الى .* او اضافة نوع الملفات كما هو موضح بالسورس
السورس (2015)
تحياتى لك
وتمنياتى لك التوفيق
يا رجل وحشتنا والله حمدلله على السلامة...
هو الكود أعلاك من الاخ الكريم Done الله يبارك فيه نفع الحمدلله لآنه بيحذف كذا كلمة كما أريد
لكن ماذا تقصد بهذه العلامة اخى الجوكر .* ؟ ماذا تعنى