最近工作有接触到.bat 批处理命令,在Win环境下编写的时候基于以前的编码习惯,觉得批处理语法可读性较差,于是学习了解了一下结合JScript的用法,特此记录。

什么是JScript

JScript是微软的JavaScript实现,主要用于Windows脚本宿主环境,实际语法和JavaScript类似,彼此直接都有一些特性相互不支持,但大致写法相同。

JScript 可视为 JavaScript 的一个​方言子集,两者在基础语法上一致,但运行环境​和​扩展能力​差异显著。JScript 适合使用在Windows自动化脚本方面。

代码展示与说明



代码说明:

@if (@X)==(@Y) @end /* ---Harmless hybrid line that begins a JScript comment

这一段代码主要是同时兼容批处理和JScript代码,相当于在同一个脚本里面使用多种语言。

对批处理:@if (@X)==(@Y) 条件恒假,因此 @end 后的内容被批处理视为注释。

对JScript:/* 是JScript的多行注释起始符,后续内容被JScript忽略。

@echo off
echo "xxxxxx"

关闭命令回显,因为主要业务代码都在JScript里面,后续代码的输出主要是通过JScript,所以在这里关闭批处理的命令回显示;echo "xxxxxx"是为了测试,验证批处理指令的执行情况;

关键代码:

cscript //E:JScript //nologo "%~f0"
exit /b 0

这一段实现了调用JScript引擎执行当前脚本,//E + 脚本引擎名称可以指定使用什么引擎来解析代码

//nologo:禁止显示 Microsoft (R) Windows Script Host 版本信息,这里也是为了看到简洁明了的调试信息

%~f0":表示当前脚本的 ​完整路径​(%0 是脚本名,%~f0 扩展为全路径)这里目的是讲当前的脚本作为JScript代码再次执行

exit /b 0:退出批处理,终止批处理部分的执行,避免继续运行后续的JScript代码

执行流程

​批处理阶段:

1.执行 @echo off 和 echo "xxxxxx"。

2.调用 cscript 以 JScript 引擎重新执行当前脚本文件。

3.执行 exit /b 0 退出批处理。



JScript 阶段:

1.cscript 读取当前文件,忽略 /* ... / 内的内容(批处理桥接行)。

2.执行 /
... */ 之后的 JScript 代码。

另外,在JScript 代码里面可以使用WScript.Echo()打印信息,类似与Console.log;

Win环境下的批处理命令和JScript脚本结合使用笔记的更多相关文章

  1. Win环境下Oracle小数据量数据库的物理备份

    Win环境下Oracle小数据量数据库的物理备份 环境:Windows + Oracle 单实例 数据量:小于20G 重点:需要规划好备份的路径,建议备份文件和数据库文件分别存在不同的存储上. 1.开 ...

  2. 在Win环境下配置java的环境进行开发步骤

    1.下载官方JDK,网址如下 http://www.oracle.com/technetwork/java/javase/downloads/index.html

  3. Win环境下的文件读写

    在win环境下,有许多方法可以对文件进行读写操作,如MFC 中的CFile类,及一些开源的项目如QT中的QFile.开源的好得是可以多平台,而MFC只是微软自家的东西,对于想写跨平台的人,最好不用MF ...

  4. win64环境下使用curl命令

    想在windows环境下使用curl命令,其实很简单,简单配置如下: 工具下载 在官网下载工具包:https://curl.haxx.se/download.html 我这里下载的是zip版本的,下载 ...

  5. 解决在win系统下使用DOS命令开启TensorBoard的问题及方法步骤

    解决在win系统下使用DOS命令开启TensorBoard的问题及方法步骤: TensorBoard是TensorFlow下的一个可视化的工具,能够帮助研究者们可视化训练大规模神经网络过程中出现的复杂 ...

  6. win 环境下 node.js环境变量

     在win 环境下 node.js环境变量有两种情况:  (1)开发环境(development):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告. ...

  7. win环境下安装配置openCV-4.3.0

    win环境下安装openCV-4.3.0 首先下载 推荐国内镜像 官网太太太慢了 附上 下载地址 下载之后打开exe解压到目录都是常规操作 环境变量的配置 依次打开到系统变量的path 新建一个路径为 ...

  8. Windows环境下使用Linux命令

    1.说明 如何在Windows环境下使用Linux命令, 这是一个屡见不鲜的问题, 而且已经有很多解决方法, 下面仅推荐几个我觉得好用的工具, 这些工具可能就是我们常用的软件, 而且已经在Window ...

  9. Windows环境下Oracle数据库的自动备份脚本

    批处理文件(.bat) @echo off echo ================================================ echo  Windows环境下Oracle数据 ...

  10. Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

随机推荐

  1. ThreeJs-11精通着色器编程(重难点)

    着色器语言编程比较重要,后面的几个章节都会围绕这个来做特效 一.初识着色器语言 首先什么叫做着色器,他是一种语言,首先需要设置为着色器材质,然后在材质里面书写一些语言,可以告诉他顶点,然后去自定义一些 ...

  2. IoC究竟shift什么?——IoC的基础分析

    IoC全称Inversion of Control,直译为控制反转.这是一种设计理念,并非技术. 在明白控制反转之前,应该知道"反转"反的是什么. 被反转的正转 我们从生活中的做饭 ...

  3. 在OERV也可以玩MC(下)

      话接上回,上期讲述了在OERV安装HMCL的历程,这期讲讲HMCL的打包.   Show openEuler:24.09 / HMCL - 开源软件构建与测试.在这个网站里,可以看到有好几个文件, ...

  4. VAE模型简析和精要(原理和代码)

    1. 前言 这篇博客主要用于记录VAE的原理部分. 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流. 如有不对之处,欢迎评论区指出错误,你我共同进步学习! 图均引用自4部分的博客!!!! ...

  5. Oracle 遍历游标的四种方式汇总(for、fetch、while、BULK COLLECT)

    本文原创:https://www.cnblogs.com/Marydon20170307/p/12869692.html 感谢博主分享 注意:原文中方式四FORALL处有语法错误,应该使用FOR. 1 ...

  6. not in 和 not exists 比较和用法

    尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询).查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引:而not exists的子查询依 ...

  7. 认识soui4js(第4篇):定义一个窗口类,响应控件的事件

    soui4js基于soui4设计实现. 首先我们看一下soui4中如何定义一个窗口类. soui4最基本的窗口类是SHostWnd和SHostDialog,它需要一个布局xml. 假定布局xml在资源 ...

  8. Docker启动Nginx

    Docker启动Nginx 搜索镜像 docker search nginx 拉取镜像 这里拉取的官方镜像 docker pull nginx 创建挂载目录 将nginx的文件都放在/opt/ngin ...

  9. vue element 动态增加表单并进行表单验证

    表单验证:需要注意的一点是: 普通表单验证单项依靠的是prop-而动态生成的表单要用:prop 书写的语法是:prop="'moreNotifyObject.' + index +'.not ...

  10. 收集 Spring Boot 相关的学习资料

    收集 Spring Boot 相关的学习资料,Spring Cloud点这里 重点推荐:Spring Boot 中文索引 推荐博客 纯洁的微笑-Spring Boot系列文章 林祥纤-从零开始学Spr ...