VB中执行批处理的问题
VB中执行批处理,由于路径中可能包含空格,在执行的时候居然默认在vb程序所在的目录下执行,而不是在批处理所在的路径下执行,例如:在D:\ProgramFiles\QQ\文...
VB中执行批处理,由于路径中可能包含空格,在执行的时候居然默认在vb程序所在的目录下执行,而不是在批处理所在的路径下执行,例如:
在D:\Program Files\QQ\文件夹下有一个a.bat的批处理,功能是新建一个aaa文件夹,我想让他在D:\Program Files\QQ文件夹下生成,他却生成在了vb程序所在的目录,求解决方法,谢谢
我用过start 来执行,失败
路径有不确定性,是用api读出来的,不一定是D:\Program Files\QQ
不能使用cd跳转过去 展开
在D:\Program Files\QQ\文件夹下有一个a.bat的批处理,功能是新建一个aaa文件夹,我想让他在D:\Program Files\QQ文件夹下生成,他却生成在了vb程序所在的目录,求解决方法,谢谢
我用过start 来执行,失败
路径有不确定性,是用api读出来的,不一定是D:\Program Files\QQ
不能使用cd跳转过去 展开
3个回答
展开全部
'用下面方法即可满足你的要求:
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
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这样的。
印象中不会出这么奇怪的问题吧。。
例如不能写mkdir c:\a p,要写mkdir "c:\a p"
试试看、
还有就是ls的,类似mkdir D:\Progra~1\QQ这样的。
印象中不会出这么奇怪的问题吧。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询