你们好!呵呵呵,我自学不精,经过别人推荐来到这里问问大家。多谢了!想了很长时间都没有想出来。
程序是这样的
Private Command1.Click()
shell app.path & "\Test.bat"
End Sub
BAT文件是这样的
copy Repair\mci32.ocx %systemroot%\system32\
regsvr32 /s %systemroot%\system32\mci32.ocx
copy /Y repair\*.* %systemroot%\system32\ 
font
pause
其中font是一个可执行程序,全名font.exe
可是程序执行时候BAT运行不正常。但是直接双击BAT文件可以正常使用。
百思不得其解,请大家指教

解决方案 »

  1.   

    具体方法请看下面的链接。
    http://topic.csdn.net/t/20050201/15/3768662.html
      

  2.   

    按理说是不会你可以这样做下简单的测试
    在批处理中使用Pause和echo来做表识看执行到哪出错的
      

  3.   

    你把出错提示贴出来,不一定是不是bat问题...
      

  4.   

    应该先调用 cmd.exeshell cmd.exe 空一格后跟着bat的路径因为没调用 cmd 才会不执行!
      

  5.   

    shell   cmd.exe /c 空一格后跟着bat的路径
      

  6.   

    那就是
    shell "cmd.exe Myproject.bat"
    对了,没错
    不过似乎一样的方式去打开
      

  7.   

    shell只能执行可执行文件,bat不是可执行文件只是特定的命令集,所以要用cmd.exe执行。
      

  8.   

    哦!Tiger_Zhao说的很有道理!明白了!不知道怎么结贴或者结束问题?论坛第一次接触,不好意思,见笑了...
    明白了,多谢大家~
      

  9.   

    Rtn = Shell("C:\WINDOWS\system32\cmd.exe /c E:\commit project\ConfigFile\AutoMakeVer.bat", vbNormalFocus)为什么我这样些还是不行,总是一闪而过,如果把/c去掉,那么就会弹出cmd窗口,但是没有执行bat 只是改了reboot路径 变成
    E:\vb tools\prjDopacket>
    没有执行bat,不过我的VB工程是E:\vb tools\prjDopacket这个路径,请大家看看怎么回事