VB 调用 bat 批处理命令运行后无效,双击 bat 运行有用

dmf_1988 2014-08-08 02:47:53

如题,本人VB菜鸟一枚,刚开始学习,最近用VB通过shell调用bat批处理命令,可以调用,bat指令dos窗口也会启动,但是没有运行效果,双击bat文件就有运行效果,请高人指点
代码如下

lujing = App.Path & "\TC-9_HexToBin.bat"
Open lujing For Output As #1
binpath = Left(newwenjian, Len(newwenjian) - 3) & "bin"
Print #1, "TargetFileConverter.exe -hex2bin " & Chr(&H22) & newwenjian & Chr(&H22) & " " & Chr(&H22) & binpath & Chr(&H22) & " -pad 0xff -align 0x4000"
Close #1

Shell lujing, vbNormalFocus
大致如下,通过打开TC-9_HexToBin.bat,修改TC-9_HexToBin.bat内容,调用一个外部程序TargetFileConverter.exe,将hex文件转化为和hex同目录下同名字的bin文件
VB调用有dos窗口出现,但是没有bin文件生成,VB调用后TC-9_HexToBin.bat内容也正确,双击TC-9_HexToBin.bat就可以自动生成bin文件了
如果文档路径为TC-9_HexToBin.bat同一个文件夹下就可以自动生成bin文件,其他路径就不行了,不会生成bin文件,要双击TC-9_HexToBin.bat一下才可以生成
...全文
709 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Carlven2012 2014-08-10
  • 打赏
  • 举报
回复
用Shell直接调用你那个Convert.exe文件啊,反正你运行BAT也是调用它去修改BAT。 Shell "TargetFileConverter.exe -hex2bin """ & newwenjian & """ """ & binpath & """ -pad 0xff -align 0x4000", vbNormalFocus
思考 2014-08-10
  • 打赏
  • 举报
回复
文件夹有空格吧 Shell  chr(34) & lujing & chr(34), vbNormalFocus
Tiger_Zhao 2014-08-08
  • 打赏
  • 举报
回复
你用相对路径调用 exe,当然要保证当前路径正确。
调用前加上下面的语句。
ChDrive Left$(App.Path,2)
ChDir App.Path
平头哥哥 2014-08-08
  • 打赏
  • 举报
回复
绕来绕去: vb shell 方法 调用 一个 bat bat 里面 又 写了一个调用exe的东西

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧