Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1524119
  • 博文数量: 226
  • 博客积分: 3997
  • 博客等级: 少校
  • 技术积分: 2369
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-19 17:26
个人简介

Never save something for a special occasion. Every day in your life is a special occasion.

文章分类

全部博文(226)

文章存档

2018年(5)

2017年(11)

2016年(1)

2015年(17)

2014年(14)

2013年(30)

2012年(5)

2011年(52)

2010年(107)

分类:

2010-09-15 16:35:43

vb,Shell如何执行DOS的内部命令?

格式:shell "cmd /c" & "要执行的命令"
EG: shell "cmd /c" & "dir c: >c:/1.txt"

----------------------------------------------------------------
Shell "cmd /c" & "vol >g:/1.txt"  执行完毕,为何dos窗口不能自动关闭?

这句只是执行一个程序,如果程序自己不关闭,那VB也不会去关的。你可以尝试
shell "cmd.exe /k dir  > c:\1.txt"

----------------------------------------------------------------
VB下不调用wscript.shell如何执行dos命令
因为要写一个在线压缩文档地代码,通常是服务器上wscript.shell来执行dos命令,但因为wscript.shell是个要挟性极强地东东,服务器必需卸载掉它。如今想通过其她方式来执行dos,或许是写一个类似wscript.shell地run函数,有这方面地高手请赐教。
回答1:Shell"c:\1.exe"
回答2:VB内置命令shell,API函数:winexec、shellexecute、createprocess。
回答3:dos命令保存到批处理文件Shell"c:\a.bat"

----------------------------------------------------------------
cmd版本问题。
shell调用dos命令执行 copy,如何在各个版本下都能用呀?

dim strcmd as string 
strcmd="cmd /c copy *.* d:\tmp\"
shell strcmd,1

以上语句在win2000以上的系统是OK的,但win98/me却不行,因为低版本操作系统上没有 cmd.exe 。

因为我知道win98/me中,进行命令行窗口用的是 command,所以我将以上的代码改成:

dim strcmd as string 
strcmd="command /c copy *.* d:\tmp\"
shell strcmd,1

可是提示出错“找不到command”, 我应该如何做?好象只能用 cmd,不能用command。
如果写成:
strcmd="command.com /c copy *.* d:\tmp\"
可以执行,但是文件复制不过来。

回答:
各个版本下都能用的方法是:将Dos命令加进 .bat ,使用shell执行bat。

示例:
在VB的“帮助→帮助文档”菜单中打开pdf文档。

Private Sub MNU_Guide_Click()
    'Shell "Explorer.exe" + Space(1) + App.path + "\User's Guide\软件使用说明书.pdf"
    Shell App.path + "\User's Guide\useage.bat"
End Sub

useage.bat内容
start "file" "%~dp0\软件使用说明书.pdf"

 

阅读(3556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~