'用下面方法即可满足你的要求:
Private Sub Command1_Click()
Dim file, wshshell, linkFile, oMyShortcut
Dim i As Integer
file = "D:\Program Files\QQ\a.bat" '请修改为具体的文件名
linkFile = App.Path & "\~1.lnk"
Set wshshell = CreateObject("Wscript.shell")
Set oMyShortcut = wshshell.CreateShortcut(linkFile)
oMyShortcut.TargetPath = file
oMyShortcut.workingdirectory = Left(file, InStrRev(file, "\") - 1)
oMyShortcut.Save
file = "rundll32 url.dll,FileProtocolHandler ""#"""
Shell Replace(file, "#", linkFile), vbNormalFocus
kill linkFile
End Sub
D:\Progra~1\QQ
试下.
P处理的参数带空格的时候要加双引号的。
例如不能写mkdir c:\a p,要写mkdir "c:\a p"
试试看、
还有就是ls的,类似mkdir D:\Progra~1\QQ这样的。
印象中不会出这么奇怪的问题吧。。