先添加 Microsoft scripting runtime 这个引用,里面有个文件处理的好东西FileSystemObject
利用这个东西搜索所有文件,只要后缀是lnk的,就shell
Private Sub Command1_Click()
Dim fs As New FileSystemObject '文件处理的类
Dim fol As Folder '代表文件夹
Dim f As File '代表文件
Set fol = fs.GetFolder(App.Path) '获取程序的路径,即获取文件夹
Dim en As String '这个用于文件后缀
For Each f In fol.Files '遍历文件夹下所有文件,不会进入子文件夹的,f就是文件
en = fs.GetExtensionName(f) '获取文件的后缀,不知是lnk还是.lnk还是*.lnk,调试一下就知道了
If LCase(en) = "lnk" Then '防止后缀大小写不一致,统一大小写比较
Shell f.Name 'f.name 应该是文件全路径了,如果不是,就自己组合一下
End If
Next
End Sub
代码没调试,可以中断一下看 fs.GetExtensionName(f) 这个获取后缀返回的东西究竟是什么样的,说不定是“ .lnk "
dir枚举文件,放入数组,然后再用循环执行shell ...