方法很多,下面列舉一個(gè):
我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、嘉蔭ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的嘉蔭網(wǎng)站制作公司
窗體上添加2個(gè)列表框,一個(gè)按鈕:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyDir As String = "C:\123"
'搜索并顯示子文件夾
ListBox1.Items.Clear()
For Each MySubDir As String In System.IO.Directory.GetDirectories(MyDir)
ListBox1.Items.Add(MySubDir)
Next
'搜索并顯示文件
ListBox2.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(MyDir)
ListBox2.Items.Add(MyFile)
Next
End Sub
End Class
獲取方法,參考實(shí)例如下:
'獲取路徑名各部分: 如: c:\dir1001\aaa.txt
'獲取路徑路徑 c:\dir1001\
Public Function GetFileName(FilePathFileName As String) As String '獲取文件名 aaa.txt
On Error Resume Next
Dim i As Integer, J As Integer
i Len(FilePathFileName)
J InStrRev(FilePathFileName, "\")
GetFileName Mid(FilePathFileName, J + 1, i)
End Function
''獲取路徑路徑 c:\dir1001\
Public Function GetFilePath(FilePathFileName As String) As String '獲取路徑路徑 c:\dir1001\
On Error Resume Next
Dim J As Integer
J InStrRev(FilePathFileName, "\")
GetFilePath Mid(FilePathFileName, 1, J)
End Function
'獲取文件名但不包括擴(kuò)展名 aaa
Public Function GetFileNameNoExt(FilePathFileName As String) As String '獲取文件名但不包括擴(kuò)展名 aaa
On Error Resume Next
Dim i As Integer, J As Integer, k As Integer
i Len(FilePathFileName)
J InStrRev(FilePathFileName, "\")
k InStrRev(FilePathFileName, ".")
If k 0 Then
GetFileNameNoExt Mid(FilePathFileName, J + 1, i - J)
Else
GetFileNameNoExt Mid(FilePathFileName, J + 1, k - J - 1)
End If
End Function
'===== '獲取擴(kuò)展名 .txt
Public Function GetFileExtName(FilePathFileName As String) As String '獲取擴(kuò)展名 .txt
On Error Resume Next
Dim i As Integer, J As Integer
i Len(FilePathFileName)
J InStrRev(FilePathFileName, ".")
If J 0 Then
GetFileExtName ".txt"
Else
GetFileExtName Mid(FilePathFileName, J, i)
End If
End Function
跟系統(tǒng)無關(guān)的,你在win7上裝框架4.0就可以了。微軟有下載如果你是基于.net架構(gòu)編寫的應(yīng)用的話,只要安裝了相應(yīng)的架構(gòu)支持平臺(tái)就OK了,現(xiàn)在的架構(gòu)都有.net 2.0,3.0,3.5,4.0等,一般最好用最新的架構(gòu),其兼容性會(huì)更好。
給你一個(gè)提示吧!呵呵,剩下的要自己思考哦!
Path:是初始目錄的路徑
Private Sub WriteArray(ByVal Path As String)
'寫入數(shù)組代碼在這里,直接將Path寫到數(shù)組就行了。
Dim dir As New IO.DirectoryInfo(Path)
For Each d As IO.DirectoryInfo In dir.GetDirectories
WriteArray(d.FullName) '遞歸
Next
End Sub
如果子目錄較多那么遞歸會(huì)比較費(fèi)時(shí)間,在調(diào)用遞歸前加入application.doevent就行了,這樣在應(yīng)對(duì)大遞歸時(shí)不會(huì)死機(jī)。
至于數(shù)組嘛使用 arraylist 最好了。
回答補(bǔ)充:
把遞歸去掉就行了?。?/p>
先用System.IO.Directory.GetDirectories函數(shù)獲取子目錄的名稱(包括其路徑),再用System.IO.Path.GetFileName獲取子目錄的名稱。下面是代碼:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
For Each s In System.IO.Directory.GetDirectories("C:\Windows")
Console.WriteLine(System.IO.Path.GetFileName(s))
Next
End Sub
下面是部分輸出:
Application Data
AppPatch
assembly
BOCNET
Boot
Branding
ConfigSetRoot
Cursors
Debug
DigitalLocker
Downloaded Installations
Downloaded Program Files
ehome
en-US
Fonts
Globalization
Help
...
可能有更簡潔的方法,你可以到MSDN看看
System.IO.Directory.GetDirectories:
System.IO.Path.GetFileName:
通用 I/O 任務(wù):
截至今天2016/12/02,VB.net最新版本是VB 14,
對(duì)應(yīng)的IDE為Visual Studio 2015
從VB 7開始,每次.net平臺(tái)更新,VB版本也會(huì)不斷更新。
VB歷史版本如下(.net平臺(tái))
沒有 VB13?
VB12 對(duì)應(yīng) VS2013
VB11 對(duì)應(yīng) VS2012
VB10 對(duì)應(yīng) VS2010
VB9 對(duì)應(yīng) VS2008
VB8 對(duì)應(yīng) VS2005
VB7 對(duì)應(yīng) VS2003
VB6 是經(jīng)典版本,它不是 .net平臺(tái)的