PDA

View Full Version : سوال در موزد فایل ها . فولدر ها



MHN321533
دوشنبه 06 بهمن 1393, 22:20 عصر
سلام

من یه تعداد زیادی فایل با نام های فارسی (نام شخص) دارم (بدون تکراری) می خوام برنامه ای بنویسم که همه ی این فایل ها رو بگیره
و برای هرکدام از فایل ها یک پوشه با نام خود فایل (یعنی نام شخص) درست کنه - ممنون میشم اگه کمکم کنید

MHN321533
سه شنبه 07 بهمن 1393, 11:22 صبح
جوابی که تا حالا به دست آوردم مثلا "back.psd" هست کسی میتونه بگه چجوری میشه پسوند این اسم رو پاک کرد یعنی: "back"

Saman_12
سه شنبه 07 بهمن 1393, 11:39 صبح
System.IO.Path.GetExtension

MHN321533
سه شنبه 07 بهمن 1393, 12:30 عصر
System.IO.Path.GetExtension .

بنده میخوام پسوند رو پاک کنم نه اینکه ببینم یا به عبارت دیگه چهار حرف از اخر پاک کنم و بقیه رو به دست بیارم

Saman_12
سه شنبه 07 بهمن 1393, 12:50 عصر
System.IO.Path.GetFileNameWithoutExtension
خودتون هم میتونتید به یه IndexOf مکان dot رو پیدا کنید و با Substring جداشون کنید, با Split هم راحت میشه پیادش کرد.(ُSplit(".")(0))

gilsoft
سه شنبه 07 بهمن 1393, 13:19 عصر
سلام

من یه تعداد زیادی فایل با نام های فارسی (نام شخص) دارم (بدون تکراری) می خوام برنامه ای بنویسم که همه ی این فایل ها رو بگیره
و برای هرکدام از فایل ها یک پوشه با نام خود فایل (یعنی نام شخص) درست کنه - ممنون میشم اگه کمکم کنید

سلام دوست عزیز

از کد زیر استفاده کن:
Sub MakeFolderFromFileName()
Dim Ext As String = "*.TXT"
Dim FileList As New List(Of String)
For Each File As String In System.IO.Directory.GetFiles("D:\textFiles\", Ext)
FileList.Add(File)
Next
Dim FileName, DirName As String
For i As Integer = 0 To FileList.Count - 1
Dim source As String = FileList.Item(i)
FileName = System.IO.Path.GetFileName(source)
DirName = System.IO.Path.Combine(System.IO.Path.GetDirectory Name(source), System.IO.Path.GetFileNameWithoutExtension(source) )
If System.IO.Directory.Exists(DirName) = False Then Directory.CreateDirectory(DirName)
Dim dest As String = System.IO.Path.Combine(DirName, FileName)
If System.IO.File.Exists(source) Then
System.IO.File.Move(source, dest)
End If
Next
End Sub

موفق باشید ....

MHN321533
چهارشنبه 08 بهمن 1393, 07:52 صبح
سلام دوست عزیز

از کد زیر استفاده کن:
Sub MakeFolderFromFileName()
Dim Ext As String = "*.TXT"
Dim FileList As New List(Of String)
For Each File As String In System.IO.Directory.GetFiles("D:\textFiles\", Ext)
FileList.Add(File)
Next
Dim FileName, DirName As String
For i As Integer = 0 To FileList.Count - 1
Dim source As String = FileList.Item(i)
FileName = System.IO.Path.GetFileName(source)
DirName = System.IO.Path.Combine(System.IO.Path.GetDirectory Name(source), System.IO.Path.GetFileNameWithoutExtension(source) )
If System.IO.Directory.Exists(DirName) = False Then Directory.CreateDirectory(DirName)
Dim dest As String = System.IO.Path.Combine(DirName, FileName)
If System.IO.File.Exists(source) Then
System.IO.File.Move(source, dest)
End If
Next
End Sub

موفق باشید ....


واقعا ممنونم .جواب داد