PDA

View Full Version : rename کردن تمام فایلهی یک فولدر



sanaz_amiri
جمعه 25 دی 1383, 13:18 عصر
سلام

من یک فولدر دارم که نام تمام فایلها در اون از 6 کاراکتر تشکلیل شده 3 رقم عدد و یک
[1] هچین چیزی
مثل>>> [1]001 [1]123 [1]032


من میخواستم با یه برنامه تمام [1] پاک کنم و صفرهای اول اعداد دو رقمی و یک رقمی هم بر دارم

میدونم که باید با دستور Directory.GetFiles اسم تمام فایلها رو در یک آرایه نگه دارم و بعد صفرها و [1] هاشو بر دارم بعد هم با File.Move() همرو rename کنم اما نمیدونم چطوری پیاده کنمش



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim s As String
For Each s In Directory.GetFiles("C:\temp\1")


File.Move(s, "C:\temp\14\" + System.IO.Path.GetFileName(s).Replace("[1]", ""))
Console.WriteLine(System.IO.Path.GetFileName(s).Re place("[1]", ""))

Next s
End Sub

Behrouz_Rad
جمعه 25 دی 1383, 15:12 عصر
سلام.
با تابع DIR نام تمامی تک تک فایل ها را به دست بیاورید به شکل زیر:


Dim sFile As String
sFile = Dir("C:\Windows\")
Do Until sFile = vbNullString
Console.WriteLn sFile
sFile = Dir()
Loop

برای تغییر نام نیز از تابع Name استفاده کنید.
موفق باشید.

sanaz_amiri
جمعه 25 دی 1383, 15:57 عصر
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
Dim s As String
For Each s In Directory.GetFiles("C:\temp\3")

lblfilename.Text += System.IO.Path.GetFileName(s) & "....." & System.IO.Path.GetFileName(s).Replace("[1]", "") & "**"
File.Move(s, "C:\temp\13\" + Val(System.IO.Path.GetFileName(s).Replace("[1]", "")))
Console.WriteLine(System.IO.Path.GetFileName(s).Re place("[1]", ""))

Next s
End Sub

sanaz_amiri
جمعه 25 دی 1383, 19:51 عصر
An unhandled exception of type 'System.InvalidCastException' occurred in microsoft.visualbasic.dll

Additional information: Cast from string "C:\temp\13\" to type 'Double' is not valid.


تنها مشکلم این اروره
ممنون میشم ایراد کارم رو بگین

sanaz_amiri
جمعه 25 دی 1383, 22:53 عصر
مشکل حل شد :sunglass: