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跳转过去
展开
 我来答
ljl88900
2008-11-27 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2625万
展开全部
'用下面方法即可满足你的要求:

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
百度网友9c22fb21b
2008-11-27 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:91.8万
展开全部
D:\Progra~1\QQ
试下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
煌_璇
2008-11-27 · TA获得超过796个赞
知道答主
回答量:450
采纳率:0%
帮助的人:0
展开全部
P处理的参数带空格的时候要加双引号的。
例如不能写mkdir c:\a p,要写mkdir "c:\a p"
试试看、
还有就是ls的,类似mkdir D:\Progra~1\QQ这样的。
印象中不会出这么奇怪的问题吧。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式