如何将批处理代码与 vbscript 代码合并
How to merge batch code with vbscript code
有时在我的批处理脚本中,我通常会将批处理代码与JavaScript代码(.js文件)合并,如下所示:
@if(@X)==(@Y) @end /* ← Hybrid line. Starts a Javascript comment block.
::Batch code
@echo off
set code=65
cscript //nologo /E:JScript "%~f0" %code% ← Calls itself using cscript.exe.
pause>nul
exit/b
*/ ← Ends the comment block, now we can write JavaSCript.
//JavaScript code
WScript.echo(String.fromCharCode(WScript.Arguments.Unnamed(0)));
其输出为 A
(65 ASCII)。
好的,JavaSCript工作正常。我的问题是:我如何使用VBScript
做到这一点?我不是 VBScript 的专家,但我知道在我的代码中没有任何方法可以制作注释块,因此我不能使用与 JavaScript 相同的技术。
假设我有一个代码可以做同样的事情(将第一个参数传递的 ASCII 代码转换为字符),但现在在 VBScript 中:
WScript.echo chr(WScript.Arguments.Unnamed(0))
如何像使用 JavaScript 一样将此 VBScript 代码与我的批处理代码合并?
我用过的。另存为.cmd
文件
<?xml : version="1.0" encoding="UTF-8" ?> ^<!-- This is the cmd zone ---------
@echo off
setlocal enableextensions disabledelayedexpansion
set "code=65"
cscript //nologo "%~f0?.wsf" //job:mainJob %code%
exit /b
------------------------------------------------ This is the vbs zone ------->
<package>
<job id="mainJob">
<script language="VBScript"><![CDATA[
If WScript.Arguments.Unnamed.Count > 0 Then
WScript.StdOut.WriteLine Chr(WScript.Arguments.Unnamed(0))
End If
]]></script>
</job>
</package>
在这种情况下使用了两个技巧。第一个是将 cmd 部分隐藏在将执行 vbscript 部分的 wsf 文件中的 xml 注释中。第二个技巧是使用 cmd 文件作为脚本调用 cscript 以使用 "%~f0?.wsf"
执行,这将使cscript
将文件作为.wsf
文件处理,而真正的扩展名是.cmd
但是您应该阅读本文以对问题进行详尽的分析。
相关文章:
- jQuery将代码合并为一个函数
- 如何合并代码|使变量动态
- 如何将自定义代码与drupal合并
- 将两个云代码函数合并为一个函数
- 如何在一个jquery代码中合并不同的Google Analytics属性
- 尝试合并 2 段代码,现在收到未捕获的引用错误:$ 未定义
- 代码镜像 更改事件上的合并构造函数
- 如何将批处理代码与 vbscript 代码合并
- 使用 Lodash 合并数组,为什么结果是重复的数组值?,我的代码在哪里出错
- 在代码镜像合并视图中禁用还原区块
- 使用仅使用过的代码合并CSS和JS文件
- 如何将Jquery合并到此代码中
- 我如何合并这两个javascript代码
- 将过程代码合并到关联数组对象
- 如何合并Jquery UI可排序代码
- 如何将TypeScript代码和JS库合并到一个带有源映射的文件中
- Javascript代码合并
- jQuery将单击事件合并到一个DRY代码块中
- 将两个javascript/jquery代码合并为一个代码
- 将 Python 代码合并到 JavaScript Web 应用程序中