Reputation: 1024
I want to view/show all files within both the folder I am looking at (/uploads) and then any sub folders within '/uploads'.
My question is can I easily do this based on the code I have, that works. (It read files in the folder and renames them)
If Not IsPostBack Then
'Dim pathIn As String
Dim pathOut As String
Dim vDate As String = DateTime.Now.ToString("yyyy-MM-dd")
Dim filePaths() As String = Directory.GetFiles(Server.MapPath("~/Uploads/"))
Dim files As List(Of ListItem) = New List(Of ListItem)
For Each filePath As String In filePaths
files.Add(New ListItem(Path.GetFileName(filePath), filePath))
' pathIn = filePath
'RENAMES FILES HERE
pathOut = "C:\sites\Examples\FilesInFolderList\Uploads\" & vDate & "_" & Replace(filePath, Server.MapPath("~/Uploads/"), "")
'' Move the file.
File.Move(filePath, pathOut)
Console.WriteLine("{0} moved to {1}", filePath, pathOut)
Next
GridView1.DataSource = files
GridView1.DataBind()
End If
Upvotes: 0
Views: 115
Reputation: 337
Using DirectoryInfo.GetFiles you can search sub directory's.
If Not IsPostBack Then
Dim pathOut As String
Dim vDate As String = DateTime.Now.ToString("yyyy-MM-dd")
Dim files As New List(Of ListItem)
For Each File As FileInfo In New DirectoryInfo(Server.MapPath("~/Uploads/")).GetFiles("*.*", SearchOption.AllDirectories)
files.Add(New ListItem(File.Name, File.FullName))
pathOut = "C:\sites\Examples\FilesInFolderList\Uploads\" & vDate & "_" & File.Name
Console.WriteLine("{0} moving to {1}", File.FullName, pathOut)
File.MoveTo(pathOut)
Next
GridView1.DataSource = files
GridView1.DataBind()
End If
Upvotes: 2