返回顶部
首页 > 资讯 > 精选 >批处理中如何直接执行vbs
  • 609
分享到

批处理中如何直接执行vbs

2023-06-08 15:06:06 609人浏览 独家记忆
摘要

这篇文章给大家分享的是有关批处理中如何直接执行vbs的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例批处理:test.bat Code: 代码如下::On Error Resume Next Sub bat e

这篇文章给大家分享的是有关批处理中如何直接执行vbs的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

示例批处理:test.bat

Code:

代码如下:


:On Error Resume Next
Sub bat
echo off & cls
echo Batching_codez_here_following_vbs_rules & pause
start wscript -e:vbs "%~f0"
Exit Sub
End Sub
MsgBox "This is vbs"


上面的代码巧妙利用 bat 和 vbs 的语法特征,让同一个文件,被 cmd.exe 识别成批处理,让 wscrpt.exe 识别成 vbs,并且同时符合两者的语法,并且保证都没有错误,保证两者的高度兼容。就叫它 bat/vbs 复合编程吧 (Hybrid Programming)
粗略解释下代码
引用:
:On Error Resume Next

cmd.exe 识别成一段注释
wscript.exe 这样识别, : 在vbs语法里代表分行,然后 On Error Resume Next,也就是让WSH忽略一些错误

引用:
start wscript -e:vbs "%~f0"

cmd.exe 识别成:启动 wscript.exe ,其参数是:
① -e:vbs 设定以vbs解析文件自身
② "%~f0" 指这个批处理本身。

wscript.exe 把这句识别成:调用一个叫 start 的函数,函数参数是 wscript 这个变量,然后用这个函数的结果来 减去 e。接下来是又是一个 : ,分行,然后又是调用一个名叫 vbs 的函数,参数是字符: "%~f0"

这句是最为精巧的,因为它成功的让 vbs 引擎解释了一段批处理,而且没有错误!当然这些 start()、vbs()函数是不存在的,但是会被 cmd.exe 当成命令执行。为什么不用 wscript //e:vbs "%~f0" 来执行呢?vbs解析会出错的,呵呵

这段代码的核心思想已经介绍完毕了。下面,为了让 批处理 以vbs调用其自身后,马上退出,我们需要 exit 或者 Goto :eof,但是 goto call exit 在vbs又是一个关键词,所以我们只能用符合 vbs 语法的 exit sub,所以我们在第二句加一个
sub bat,其实 cmd.exe 寻找了一个叫 sub.exe 的命令,但是这个命令是不存在的,cmd.exe 跳过。然后在 6、7 句加一个 exit sub 以及 end sub,让 批处理结束,同时又符合 vbs 的语法

那个 echo off & cls ,批处理的意思就是相当于 @echo off ,但是 vbs 不认 @ 符号,所以改成 echo off & cls , vbs 可以解析为,调用一个叫 echo() 的函数,参数为 off & cls ,也就是两个字符串 off 和 cls 相加

Well,接下来,你可以运行vbs脚本了,效率和真正的vbs一样高!

这段代码的好处是:不用生成临时文件。其实用 echo 或者 more 或者 find 来生成临时vbs很浪费系统资源的,用我写的这段代码,就完全免去了这些麻烦。直接混合编程,以 start wscript -e:vbs "%~f0" 为界限,上面写 批处理,下面写 vbs,并行不悖!

感谢各位的阅读!关于“批处理中如何直接执行vbs”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 批处理中如何直接执行vbs

本文链接: https://lsjlt.com/news/254488.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 批处理中如何直接执行vbs
    这篇文章给大家分享的是有关批处理中如何直接执行vbs的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例批处理:test.bat Code: 代码如下::On Error Resume Next Sub bat e...
    99+
    2023-06-08
  • 如何执行批处理bat程序中的条件处理
    这篇文章给大家分享的是有关如何执行批处理bat程序中的条件处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。以下代码是使用 if / >> C:\help.tx...
    99+
    2023-06-09
  • 如何用VBS和bat批处理逐行读取文件
    这篇文章主要介绍“如何用VBS和bat批处理逐行读取文件”,在日常操作中,相信很多人在如何用VBS和bat批处理逐行读取文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用VBS和bat批处理逐行读取文件...
    99+
    2023-06-08
  • 如何实现安静运行批处理的vbs脚本
    这篇文章给大家分享的是有关如何实现安静运行批处理的vbs脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。保存为.vbs DIM objShell set objShell=wscript.createObjec...
    99+
    2023-06-08
  • dos、bat批处理如何延时执行命令
    这篇文章给大家分享的是有关dos、bat批处理如何延时执行命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。第一种方法:ping 127.0.0.1 -n 5000>nul&n...
    99+
    2023-06-09
  • 批处理如何实现延迟执行命令
    这篇文章将为大家详细讲解有关批处理如何实现延迟执行命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。2003的工具包里有个sleep.exe2、结合vbs实现的代码代码如下:echo.wscript.sl...
    99+
    2023-06-09
  • 如何使用BAT批处理执行sql语句
    本篇内容介绍了“如何使用BAT批处理执行sql语句”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!把待执行Sql保存在一个文件,这里为2011...
    99+
    2023-06-08
  • 如何自动生成批量执行SQL脚本的批处理
    这篇文章主要介绍如何自动生成批量执行SQL脚本的批处理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!场景: DBA那边给我导出了所有的存储、函数等等对象的创建脚本,有上千个文件. 现在需要将这些对象创建脚本导入到另外...
    99+
    2023-06-08
  • 安静运行批处理的vbs脚本
    1、保存为.vbs DIM objShell set objShell=wscript.createObject("wscript.shell") iReturn=objShell....
    99+
    2022-11-21
    安静运行 批处理 vbs
  • Java 执行CMD命令或执行BAT批处理方式
    Java 执行CMD命令或执行BAT批处理 背景 日常开发中总能遇到一些奇怪的需求,例如使用java执行cmd命令或者bat批处理文件,今天就简单记录一下使用过程。 使用 废话不多说...
    99+
    2024-04-02
  • 如何从Linux命令行直接执行MySQL/MariaDB查询
    这篇文章将为大家详细讲解有关如何从Linux命令行直接执行MySQL/MariaDB查询,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如果您负责管理数据库服务器,则可能需要不时运行查询并仔细检查它。虽然您...
    99+
    2023-06-16
  • java中怎么直接执行python语句
    在Java中直接执行Python语句是比较复杂的,需要借助一些第三方库来实现。 一种常用的方法是使用ProcessBuilder类来...
    99+
    2023-10-23
    java python
  • 如何在Oracle中执行批量插入
    在Oracle中执行批量插入可以使用以下两种方法: 使用INSERT INTO SELECT语句进行批量插入: INSE...
    99+
    2024-04-09
    Oracle
  • 如何修改ini文件的批处理与vbs代码
    这篇文章主要介绍如何修改ini文件的批处理与vbs代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!批处理代码:@echo off >tmp.inifor /f &quo...
    99+
    2023-06-08
  • windows批处理文件如何运行
    要运行Windows批处理文件,可以按照以下步骤进行操作:1. 找到要运行的批处理文件。批处理文件通常以`.bat`或`.cmd`为...
    99+
    2023-09-05
    windows
  • 如何使用批处理把多行文本拼接成用;连接的一行
    这篇文章主要介绍了如何使用批处理把多行文本拼接成用;连接的一行,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:@echo off :: ...
    99+
    2023-06-09
  • windows下bat批处理执行Mysql的sql语句
    有时候我们需要用bat来定时执行mysql那么就可以参考下面的代码  直接上代码: @ECHO OFF SET dbhost=主机名(例如:127.0.0.1) S...
    99+
    2024-04-02
  • 批处理中如何实现预处理
    这篇文章主要为大家展示了“批处理中如何实现预处理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理中如何实现预处理”这篇文章吧。一、预处理究竟要做什么? 根据我的经验,预处理要做的是变量值的替...
    99+
    2023-06-08
  • VBS脚本和BAT批处理如何实现删除自身
    这篇文章给大家分享的是有关VBS脚本和BAT批处理如何实现删除自身的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。VBS脚本和BAT批处理自身删除的方法删除自身之:VBS 把下面的脚本保存为selfkill.vbs...
    99+
    2023-06-08
  • 注册表、批处理和VBS如何相互结合应用
    这篇文章主要为大家展示了“注册表、批处理和VBS如何相互结合应用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“注册表、批处理和VBS如何相互结合应用”这篇文章吧。不懂注册表、VBS、批处理不要紧...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作