Win环境下的批处理命令和JScript脚本结合使用笔记
最近工作有接触到.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脚本结合使用笔记的更多相关文章
- Win环境下Oracle小数据量数据库的物理备份
Win环境下Oracle小数据量数据库的物理备份 环境:Windows + Oracle 单实例 数据量:小于20G 重点:需要规划好备份的路径,建议备份文件和数据库文件分别存在不同的存储上. 1.开 ...
- 在Win环境下配置java的环境进行开发步骤
1.下载官方JDK,网址如下 http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Win环境下的文件读写
在win环境下,有许多方法可以对文件进行读写操作,如MFC 中的CFile类,及一些开源的项目如QT中的QFile.开源的好得是可以多平台,而MFC只是微软自家的东西,对于想写跨平台的人,最好不用MF ...
- win64环境下使用curl命令
想在windows环境下使用curl命令,其实很简单,简单配置如下: 工具下载 在官网下载工具包:https://curl.haxx.se/download.html 我这里下载的是zip版本的,下载 ...
- 解决在win系统下使用DOS命令开启TensorBoard的问题及方法步骤
解决在win系统下使用DOS命令开启TensorBoard的问题及方法步骤: TensorBoard是TensorFlow下的一个可视化的工具,能够帮助研究者们可视化训练大规模神经网络过程中出现的复杂 ...
- win 环境下 node.js环境变量
在win 环境下 node.js环境变量有两种情况: (1)开发环境(development):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告. ...
- win环境下安装配置openCV-4.3.0
win环境下安装openCV-4.3.0 首先下载 推荐国内镜像 官网太太太慢了 附上 下载地址 下载之后打开exe解压到目录都是常规操作 环境变量的配置 依次打开到系统变量的path 新建一个路径为 ...
- Windows环境下使用Linux命令
1.说明 如何在Windows环境下使用Linux命令, 这是一个屡见不鲜的问题, 而且已经有很多解决方法, 下面仅推荐几个我觉得好用的工具, 这些工具可能就是我们常用的软件, 而且已经在Window ...
- Windows环境下Oracle数据库的自动备份脚本
批处理文件(.bat) @echo off echo ================================================ echo Windows环境下Oracle数据 ...
- Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
随机推荐
- JMeter 采样器超详细教程
宝子们,今天咱就来好好唠唠 JMeter 里那些厉害的采样器,让你轻松拿捏性能测试和接口测试! 一.采样器大集合 先给宝子们来个采样器的 "全家福",让你们心里有个底: HTTP ...
- 「规则类怪谈」塔 - (preview)
前段时间,大概五六月份,我很喜欢规则类怪谈.颓废的时候读了一大堆质量参差不齐的作品,试着编了一个世界观然后开写.咕着咕着磨到现在,至少情节大概成形了.最大的阻力在于物理规则的完备性和自洽性,为什么 ...
- Diary -「NOI 2022」尘降
又一次,以这样一种身份来到国赛赛场.起跑线延长出赛场外,我将于此开始又一场已知"无用"的竞技. 虚无中 我的尘埃盲目漂泊摇晃 时间回到数个月前的省选,\(600\) 分的总 ...
- Solution -「LOCAL」菜
\(\mathscr{Description}\) Private link. 给定 \(N,L,X,Y,K\),求选出 \(0\le a_1\le a_2\le\cdots a_{N-1}\ ...
- C# WinForm 检查目标主机的端口是否可连接
一个小工具. namespace IPPort_CheckTool { partial class MainForm { /// <summary> /// 必需的设计器变量. /// & ...
- 【C语言学习】——命令行编译运行 C 语言程序的完整流程
今天要学习的内容是 命令行编译运行 C 语言程序,进一步理解C语言编译运行的底层实现和编译原理相关知识,下面是命令行编译运行 C 语言程序的完整流程 一.理论讲解 1. 编译原理概述 1.1 编译过程 ...
- ZUC-S盒输入输出测试
问题 实现以二进制.十进制.十六进制的形式输入,经过S盒,输出十六进制 输入: 1.二进制:10001010010011110000011110111101 2.十进制:2320435133 3.十六 ...
- 0511-Properties集合
package A10_IOStream; import java.io.*; import java.util.Properties; import java.util.Set; /* java.u ...
- 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
在本地部署DeepSeek大模型实现联网增强的AI应用 一.前言 在本地部署大语言模型(LLM)并赋予其联网能力,是当前AI应用开发的重要方向.本文将基于Microsoft Semantic Kern ...
- redis 过期监听配置
package org.jeecg.config; import java.lang.reflect.Method; import java.time.Duration; import java.ut ...