码迷,mamicode.com
首页 > 其他好文 > 详细

bat调用全路径包含空格的exe程序

时间:2014-11-07 06:28:00      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:bat 全路径 空格

点击网页按钮事件,获取相应参数并传递给本地待调用的exe程序,我们采用的方式是在注册表中定义自己的协议,该自定义协议指明需要调用的应用程序,但由于参数要传递多个,没法直接调用,于是我们又写了一个bat文件,在注册表中指明要调用的bat,在bat中处理参数并调用相应的exe,碰到的第一个问题就是上篇小结中提到的bat调用相对路径时,应用程序上方图标不显示的问题,后来加了全路径好了,但如果全路径包含空格,bat处理又有问题,我们的处理方式是:

    set toolPathTemp="%~dp0" ::当前路径加上"",不加""bat直接退出了
    set toolPath=!toolPathTemp:"=! ::去除空格,用!!引用变量需要在加上setlocal\

enabledelayedexpansion


    start /d "path" "" "path+exe" !1! !2! ::/d指明exe所在全路径,后面的""是为了让path中可包含空格,参考http://www.cnblogs.com/qq78292959/p/3524095.html


    另:传递的参数可能包含中文,但到bat中会乱码,所有我们又写了一个转utf-8应用程序返回中文,但在bat中需要得到应用程序的结果,不是很好处理,请参考http://zhidao.baidu.com/link?url=q10bC75zSEavvxpJ3RGdwAzw5Y0rfDCpskI92yv4jJ4TUU9ujAZLXEoMWiovwuqrnhg391m2SGQ-OxkA3MY8C_,我们的处理方式相同,只不过exe路径中包含变量,如下:

for /f "" %%i in (‘"!toolPath!encode.exe" !name!‘) do (

    set name=%%i

)

bat调用全路径包含空格的exe程序

标签:bat 全路径 空格

原文地址:http://liuanhf.blog.51cto.com/2519495/1573853

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!