这些代码是否互相混淆? (批处理文件)

问题描述 投票:0回答:1

我有一组代码,我想用它来增加音量并播放视频

if (@a==@b) @end /*

:: batch portion

@ECHO OFF

cscript /e:jscript "%~f0"


:: JScript portion */

var shl = new ActiveXObject("WScript.Shell");
for (var i=0; i<5; i++) {
    shl.SendKeys(String.fromCharCode(0xAF));
}

cd "mario\assets"
call "mario.mp4"

当我将代码分成两个文件时,两个文件都可以正常工作。视频位于子文件中。这就是搞砸的原因吗?我尝试创建第三个批处理文件来运行分割的代码并且该文件有效,但我想知道是否有更方便的方法来执行此操作

batch-file
1个回答
0
投票

这是您所获得的修改版本。

@if (@a==@b) @then

:: batch portion
@ECHO OFF
cscript /e:jscript "%~f0"
cd "mario\assets"
call "mario.mp4"
exit /b

@end

// JScript portion
var shl = new ActiveXObject("WScript.Shell");
for (var i=0; i<5; i++) {
    shl.SendKeys(String.fromCharCode(0xAF));
}

变化

  • cd
    call
    命令不是 JScript,据我所知。它们属于批次部分。
  • 批处理部分需要一个
    exit /b
    ,以便它不会尝试运行(甚至解析)文件的其余部分,这不是批处理语法。

批处理/JScript 多语言想法

以下是将批处理/cmd 和 JScript 组合在一个文件中的一些其他样式。

© www.soinside.com 2019 - 2024. All rights reserved.