运行批处理不显示DOS窗口的VB脚本
### 运行批处理不显示DOS窗口的VB脚本 在日常的计算机操作与管理过程中,有时我们可能需要执行一些批处理文件(`.bat`文件),这些文件往往会在执行时打开一个黑色的命令提示符窗口(即DOS窗口)。对于用户来说,这种短暂出现的窗口不仅影响美观,还可能导致一些不必要的干扰。因此,学会如何隐藏这个DOS窗口就显得尤为重要了。 #### 方法一:使用VBS脚本隐藏DOS窗口 通过创建一个VBScript(VBS)脚本来调用批处理文件并隐藏其打开的命令提示符窗口。具体步骤如下: ```vbscript DIM objShell Set objShell = WScript.CreateObject("WScript.Shell") iReturn = objShell.Run("cmd.exe /C c:\1.bat", 0, TRUE) ``` - `DIM objShell`:定义一个变量`objShell`。 - `Set objShell = WScript.CreateObject("WScript.Shell")`:通过`WScript.CreateObject`函数创建一个`WScript.Shell`对象实例,并将其赋值给`objShell`。 - `iReturn = objShell.Run("cmd.exe /C c:\1.bat", 0, TRUE)`:调用`objShell`对象的`Run`方法来执行命令。这里使用`cmd.exe /C c:\1.bat`命令来运行位于`C:\`目录下的`1.bat`批处理文件,参数`0`表示隐藏窗口,`TRUE`表示等待批处理执行完毕后返回。 #### 方法二:使用`Start`命令替代`Call`命令 在批处理文件中,如果需要调用另一个批处理文件,通常会使用`call`命令。然而,这种方式也会打开一个新的命令提示符窗口。为了避免这种情况,可以使用`start`命令来代替`call`命令,并添加`/B`选项来隐藏新窗口。 例如,在`test.cmd`文件中调用另一个批处理文件`sub.cmd`: ```batch @echo off start /B sub.cmd ``` - `@echo off`:关闭命令回显,避免命令行被打印出来。 - `start /B sub.cmd`:使用`start`命令打开`sub.cmd`批处理文件,其中`/B`选项表示后台模式启动程序,即不会显示新的命令提示符窗口。 #### 方法三:使用VBScript直接隐藏命令窗口 除了上述两种方法之外,还可以通过VBScript直接实现命令窗口的隐藏。以下是一个示例脚本: ```vbscript Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c", vbHide ``` - `Set ws = CreateObject("Wscript.Shell")`:创建一个`WScript.Shell`对象实例。 - `ws.run "cmd /c", vbHide`:使用`run`方法运行命令,`vbHide`常量用于指定运行模式为隐藏模式。 ### 实际应用场景 - **系统维护**:在进行系统维护或自动化任务时,经常需要执行一些批处理脚本。采用上述方法可以使得整个过程更加流畅、专业,避免给最终用户带来不必要的困扰。 - **批量操作**:如文件备份、数据迁移等任务,通常涉及大量的文件操作。通过隐藏命令提示符窗口,可以使这些任务在后台静默执行,不影响用户的正常工作。 - **软件部署**:在部署软件包或更新程序时,使用这些技巧可以提升用户体验,使整个安装过程更加平滑。 通过以上介绍的方法,我们可以有效地解决执行批处理时DOS窗口弹出的问题,让批处理操作变得更加高效、便捷。希望这些方法能够帮助到你在实际工作中更好地应用批处理脚本。
━━━━━━━━━━━━━━━━━━━━━━━━━━
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
DIM objShell set objShell=wscript.createObject("wscript.shell") iReturn=objShell.Run("cmd.exe /C c:\1.bat", 0, TRUE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
把c::\1.bat 改成你需要运行的批处理
将两线之间的内容复制到 记事本 保存为 *.vbs文件运行即可
━━━━━━━━━━━━━━━━━━━━━━━━━━
让批处理运行不显示黑的cmd窗口!
编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序。
------------------------------------------------------------
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c 批处理程序名",vbhide
------------------------------------------------------------
将水平线中代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本runbat.vbs,即可隐藏运行指定的批处理程序。
这个vbs脚本也可以在其它环境中直接调用。
━━━━━━━━━━━━━━━━━━━━━━━━━━
调用exe程序时要不显示dos窗口,不能使用call xx.exe,应该使用start xx.exe
━━━━━━━━━━━━━━━━━━━━━━━━━━
- evil-hex2017-07-24不错,可以用
- yimiyangguang66882014-05-10脚本比较好 已经作为参考了
- jhx_842014-04-09虽然和我需要的不一样,但还是有点帮助
- 毫无影响力2014-05-17兄弟,你这标题是VB,可是里面都是怎么写VBS啊。5分,太贵了!
- 粉丝: 4
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 本资源库是关于“Java Collection Framework API”的参考资料,是 Java 开发社区的重要贡献,旨在提供有关 Java 语言学院 API 的实践示例和递归教育关系 .zip
- 插件: e2eFood.dll
- 打造最强的Java安全研究与安全开发面试题库,帮助师傅们找到满意的工作.zip
- (源码)基于Spark的实时用户行为分析系统.zip
- (源码)基于Spring Boot和Vue的个人博客后台管理系统.zip
- 将流行的 ruby faker gem 引入 Java.zip
- (源码)基于C#和ArcGIS Engine的房屋管理系统.zip
- (源码)基于C语言的Haribote操作系统项目.zip
- (源码)基于Spring Boot框架的秒杀系统.zip
- (源码)基于Qt框架的待办事项管理系统.zip