×

vb.net获取文件扩展名

vb.net获取文件扩展名(vbnet获取当前目录下文件名)

admin admin 发表于2023-03-24 06:57:10 浏览75 评论0

抢沙发发表评论

本文目录一览:

vb.net,知道一个文件的扩展名,如何通过这个扩展名获得该文件的默认打开方式(即默认打开程序)?

如没有现存的办法的话只能读取注册表,以txt文件为类:

HKEY_CLASSES_ROOT\.txt   '在这个地址有个默认属性值是:txtfile

HKEY_CLASSES_ROOT\txtfile\shell\open\command   '这里的默认属性值txtfile的关联程序:%SystemRoot%\system32\NOTEPAD.EXE %1-vb.net获取文件扩展名

我暂不了解vb.net读注册表函数(刚在学),以vbs为类:

Dim WshShell

Set WshShell = WScript.CreateObject("Wscript.Shell")

Dim Ext

ext= WshShell.RegRead ("HKEY_CLASSES_ROOT\.mp3\") '这里的扩展名.mp3可以改成其它的看看

MsgBox WshShell.RegRead ("HKEY_CLASSES_ROOT\"  ext  "\shell\open\command\")

 

vb.net Path方法

总觉得你在一次循环里Add了两次,怪怪的。你所谓的“第二个”其实还是第一个,只是因为它只显示扩展名而已。获取的文件名已经包含扩展名了,不需要再处理,所以删去第二个Add。如果你有特殊需要的话,不妨写出来,或者把整段代码弄过来-vb.net获取文件扩展名

———(手机不能追答只能修改)———

你的等于号在用于对象时,不是赋值,而是引用的意思。dirs=fis后,fis变成什么,dirs也会跟着变成什么,因为这时的dirs就是fis的引用(也就是帽子啦),而不是一个真正的对象副本。

C#,VB.net,二进制流转回Word的时候能否知道他的文件名和后缀

无法直接获取,但可以采用变通的方法,思路:

把word转换成二进制流前先用变量把拓展名和后缀获取到(例如 var filename = “xxxx.doc”)

定义一个int变量记录二进制流(word)的长度。并将该变量转成4字节的btye[]数组

将第一步中获取到的文件名字符串转成byte[]数组。

将字节按照: word文件byte[]+文件名byte[]+word文件长度byte[](第二步)按照顺序拼接成一个byte[]数组

还原:

1.首先读取总byte[]的后4个字节,以确定文件二进制流的有效长度(假设为L).

2.将索引0至L 之间的字节数组按常规方式恢复成流.

3.将索引L至N-4之间的字节数组还原成字符串,即可获得原文件名.

然后,爱咋咋地~~~~

vb.net从文件路径中获取文件名

获取方法,参考实例如下:

'获取路径名各部分:

如:

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

VB.NET 筛选指定目录下的指定文件(扩展名)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click-vb.net获取文件扩展名

Dim a As String = "c:\windows\system"

For Each ws In My.Computer.FileSystem.GetFiles(a)

Dim kzm As String = ws.Substring(InStrRev(ws, "."), ws.Length - InStrRev(ws, ".")) '定义扩展名变量-vb.net获取文件扩展名

If kzm = "mp4" Or kzm = "avi" Or kzm = "flv" Then '这里一定要注意扩展名的大小写,如aviAVI的

Me.ListBox1.Items.Add(ws)

End If

Next

End Sub

vb.net中怎么判断文件类型

这个问题可以用注册表解决。

Function getOpenCommand(fileExt As String) as String

Dim fileType as String, openCommand as String

fileExt = "." + fileExt

'取得文件扩展名在注册表里的文件类型名称

'比如.zip的类型名称一般是zipfile

fileType = 读取注册表的classes_root下的子键(fileExt)的默认键值

'取得打开这种文件的程序

openCommand = 读取注册表的classes_root下的子键(fileType + "\shell\open\command")的默认键值

Return getOpenCommand

End Function

读取注册表的HKEY_CLASSES_ROOT下的子键的默认键值的方法可以在网上搜索到。

这样getOpenCommand("doc")就可以得到一个字符串(包括引号):

"C:\Program Files\Word\word.exe" "%1"

这里只需要用Spilt函数把C:\Program Files\Word\word.exe分离出来就好了