文件长、短格式的转换

lyhyp 2003-05-12 09:59:49
请教:在VB中怎样将WINDOWS的长文件夹、文件名转换成短格式!谢谢。运行DOS命令时,文件夹不能含有空格,该怎样处理
...全文
12 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sxs69 2003-05-12
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

Private Sub Command1_Click()
Dim PathName As String, S As String, ShortPathName As String
PathName = "C:\WINDOWS\Media\Windows XP 默认值.wav"
S = String(LenB(PathName), Chr(0))
GetShortPathName PathName, S, Len(S)
ShortPathName = Left(S, InStr(S, Chr(0)) - 1)
End Sub
回复
dongyoushen 2003-05-12

【专案】的【引用项目】中,加入【Microsoft Scripting Runtime】!

程序码大致如下:

Private Sub Form_Load()
Dim fso As FileSystemObject
Dim fsoFile As File

Set fso = New FileSystemObject
Set fsoFile = fso.GetFile("C:\MyReallyLongName.txt")
MsgBox fsoFile.ShortPath

Set fsoFile = Nothing
Set fso = Nothing
End Sub
'结果就是 C:\MYREAL~1.TXT
————————————————
另外我有用GetShortPathName 这个 API 函数转换文件名的源程序,也需要的话留下信箱.
回复
dongyoushen 2003-05-12
我有源文件,没地方上传,把你的邮箱给告诉我。我发给你。
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7489

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2003-05-12 09:59
社区公告
暂无公告