十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Vb.net获取某个目录下文件夹名称(不包含隐藏文件夹)实现代码如下:
10年积累的网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有呼中免费网站建设让你可以放心的选择与我们合作。
Dim dir As New DirectoryInfo("D:\")
For Each d As DirectoryInfo In dir.GetDirectories
ComboBox1.Items.Add(d.Name)
Next
dim finfo as new fileinfo(d.name)
if (finfo.attributes and FileAttributes.Hidden)FileAttributes.Hidden then
ComboBox1.Items.Add(d.Name)
end if
获取方法,参考实例如下:
'获取路径名各部分:
如:
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
'获取文件名但不包括扩展名
aaa
Public
Function
GetFileNameNoExt(FilePathFileName
As
String)
As
String
'获取文件名但不包括扩展名
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
Then
GetFileNameNoExt
Mid(FilePathFileName,
J
+
1,
i
-
J)
Else
GetFileNameNoExt
Mid(FilePathFileName,
J
+
1,
k
-
J
-
1)
End
If
End
Function
'=====
'获取扩展名
.txt
Public
Function
GetFileExtName(FilePathFileName
As
String)
As
String
'获取扩展名
.txt
On
Error
Resume
Next
Dim
i
As
Integer,
J
As
Integer
i
Len(FilePathFileName)
J
InStrRev(FilePathFileName,
".")
If
J
Then
GetFileExtName
".txt"
Else
GetFileExtName
Mid(FilePathFileName,
J,
i)
End
If
End
Function
运行一个可执行程序,并且如果该程序仍然在运行,则返回一个包含该程序的进程
ID
的整数。
Public
Function
Shell(
_
ByVal
PathName
As
String,
_
Optional
ByVal
Style
As
AppWinStyle
=
AppWinStyle.MinimizedFocus,
_
Optional
ByVal
Wait
As
Boolean
=
False,
_
Optional
ByVal
Timeout
As
Integer
=
-1
_
)
As
Integer
参数
PathName
必选。String。要执行的程序的名称,以及任何必选的参数和命令行开关。PathName
也可以包含驱动器和目录路径或文件夹。
如果您不知道程序的路径,可以使用
My.Computer.FileSystem.GetFiles
方法进行查找。例如,调用
My.Computer.FileSystem.GetFiles("C:\",
True,
"testFile.txt")
可以返回驱动器
C:\
上任意处的名称为
testFile.txt
的每个文件的完整路径。
Style
可选。AppWinStyle。从
AppWinStyle
枚举中选择的值,指定要在其中运行程序的窗口的样式。如果省略
Style,则
Shell
将使用
AppWinStyle.MinimizedFocus,它启动程序后最小化并带有焦点。
Wait
可选。Boolean。指示
Shell
函数是否应等待程序完成的值。如果省略
Wait,Shell
将使用
False。
Timeout
可选。Integer。Wait
为
True
时要等待的毫秒数。如果省略
Timeout,则
Shell
使用
-1
表示没有超时,并且
Shell
直到程序完成才会返回。因此,如果省略
Timeout
或将其设置为
-1,则
Shell
可能永远不会将控制返回您的程序。
如果你要获得显示的结果,我知道的方法是使用一个dos管道(名字玄乎,实际上没什么)
在命令的最后加一个
(filename)
这样这个命令所有的显示结果就背记录在(filename)里面了
比如
dir
a.txt
这样dir显示的结果就是背全部记录在a.txt里面
给你一个提示吧!呵呵,剩下的要自己思考哦!
Path:是初始目录的路径
Private Sub WriteArray(ByVal Path As String)
'写入数组代码在这里,直接将Path写到数组就行了。
Dim dir As New IO.DirectoryInfo(Path)
For Each d As IO.DirectoryInfo In dir.GetDirectories
WriteArray(d.FullName) '递归
Next
End Sub
如果子目录较多那么递归会比较费时间,在调用递归前加入application.doevent就行了,这样在应对大递归时不会死机。
至于数组嘛使用 arraylist 最好了。
回答补充:
把递归去掉就行了啊!
先用System.IO.Directory.GetDirectories函数获取子目录的名称(包括其路径),再用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 任务:
保存文件的步骤为:
关闭流,特别是写入流
关闭并保存文件
示例代码如下:
Imports System.Windows.Forms
Imports System.IO
Imports System.Text
Sub SaveFileDemo()
'打开文件。如果文件不存在则创建新的文件
Dim myFile As New IO.FileStream("d:\data.txt", _
FileMode.OpenOrCreate, _
FileAccess.Write)
'在文件末尾添加一行
Dim tw As New StreamWriter(myFile)
myFile.Seek(0, SeekOrigin.End)
tw.WriteLine("白刃格斗英雄连英模部队方队亮相阅兵")
'关闭流
tw.Close()
'关闭文件并保存文件
myFile.Close()
End Sub