紧急求救!!!VB中如何调用并执行批处理文件?

还有人用VB6吗 2007-11-14 08:20:05
我想在VB中调用批处理文件并运行,
现在我使用 shell app.path+"\up.bat",vbhides
或者 shell "cmd /c" + app.path+"\up.bat",vbhides
或者 shell "command " + app.path+"\up.bat",vbhides
都不行,请高手赐教


...全文
403 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
hz932 2008-03-20
  • 打赏
  • 举报
回复
app.path里面有空格时就不行。应该是:

shell """"+ app.path+"\up.bat"""

cangwu_lee 2007-11-15
  • 打赏
  • 举报
回复
使用

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

来调用吧
还有人用VB6吗 2007-11-15
  • 打赏
  • 举报
回复
不知道为什么,在同事的电脑上调试通过了,在我的电脑里只有在C盘里可以调用批处理,其他盘就不行,怪了?
Phenlit 2007-11-14
  • 打赏
  • 举报
回复
要这个WinMM.dll库的函数集合,不是要文件

不关编译的事,命令路径的问题,没编译是在VB目录下运行的,编译后是这个程序所有目录运行
还有人用VB6吗 2007-11-14
  • 打赏
  • 举报
回复
WinMM.dll 在c:\windows\system32 目录下
还有人用VB6吗 2007-11-14
  • 打赏
  • 举报
回复
不要VB调用,而直接鼠标点击运行批处理文件,没有任何问题,刚才有个朋友说可能是没有编译的问题,说是VB编译后就可以了,还没来得及调试呢
Phenlit 2007-11-14
  • 打赏
  • 举报
回复
那就注意一下,你BAT文件里头的命令

BAT里没写路径的命令,默认在VB目录下
还有人用VB6吗 2007-11-14
  • 打赏
  • 举报
回复
是刚才笔误,调试时没有隐藏
Phenlit 2007-11-14
  • 打赏
  • 举报
回复
你隐藏了就不显示了,要看结果,你直接运行指处理是不是一样
还有人用VB6吗 2007-11-14
  • 打赏
  • 举报
回复
那我怎么都调试不通过啊,有时 批处理文件闪一下,但其内的命令却没有执行
Phenlit 2007-11-14
  • 打赏
  • 举报
回复
另请教兄弟, WinMM.dll库函数,在哪儿能找得到文本或数据库文件让VB的API浏览器加载,多谢
Phenlit 2007-11-14
  • 打赏
  • 举报
回复
注意app.path这个

在盘符下,app.path是带有"\"的,不在盘符下是不带"\"的

例如:
c:\

c:\foloder\fd2

所以得再加于区分

如:
pt=app.path
if right(pt,1)<>"\" then pt=pt & "\"
叶帆 2007-11-14
  • 打赏
  • 举报
回复
我测试了一下,这样可以直接运行啊
Private Sub Command1_Click()
Shell "c:\up.bat "
End Sub

你用了vbHide参数,是否看不到执行?
zzyong00 2007-11-14
  • 打赏
  • 举报
回复
vbHide,not vbhides

7,763

社区成员

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

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