VB调用SHELL,参数路径有空格如何处理?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB调用SHELL,参数路径有空格如何处理?相关的知识,希望对你有一定的参考价值。
比如:当前程序所在路径为:d:\1 23\4下,即app.path为在d:\1 23\4,在此目录下有一批处理dx.bat,如果通过SHELL调用此批处理?
无空格时格式为:xxx=shell(app.path & "dx.bat",vbHide)
因为app.path中有空格,要想用以上格式调用dx.bat,应该如何写?
请给出完整答案!谢谢!
操作系统:WIN7
因为路径中有空格,所以要加引号处理路径,我要的是加引号处理后的语句!
即:如何给app.path & "\dx.bat"加引号处理了!
i=shell(app.path & "\dx.bat",vbHide),要的是这种格式的。
按照你的意思,你的app.path应该取值为d:\1 23\4,4后面是没有 \ 这个符号的,再跟后面的dx.bat想连接,就成了d:\1 23\4dx.bat,执行的时候应该提示找不到文件这个错误提示吧?
我试过之后才恢复的啊,我也是WIN7系统呢,这是咋地了?你那提示什么错误啊?追问
根本就不执行那个批处理程序
追答你把 vbhide 取消看一下,是否有执行呢,我是真的测试过了的,完全可以执行
追问我要写成这样的:
i=shell(app.path & "\dx.bat",vbNormalFocus),因为app.path中有空格,所有要对路径加引号处理,我要的就是加引号处理后的语句。
我当前工程文件的路径为 C:\Users\Administrator\Desktop\V B
dx.bat文件里面只有一句话: md c:\1
程序里面只有一个按钮,代码如下:
Private Sub Command1_Click()
Dim I As Integer
I = Shell(App.Path & "\dx.bat", vbNormalFocus)
End Sub
测试通过
我的是WIN7 32位,你的是什么系统?
追答也是啊,我们QQ聊,如何?43595076
参考技术A 不影响的吧,文件夹创建可以用空格,打开也是一样的吧:shell“d:\1 23\4\dx.bat"
因为是字符,空格不影响。我是这么理解的追问
你自己试下有空格能不能通过就知道了!
我是想用app.path这个路径
明白了!:
shell"explorer d:\1 23\4\dx.bat"
大哥,我要的是把d:\1 23\4用app.path取代后的语句。
参考技术B i=shell(chr(34) & app.path & "\dx.bat" & chr(34),vbHide)本回答被提问者采纳以上是关于VB调用SHELL,参数路径有空格如何处理?的主要内容,如果未能解决你的问题,请参考以下文章