首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件编译已关闭

条件编译已关闭
EN

Stack Overflow用户
提问于 2014-02-11 12:37:48
回答 3查看 3.5K关注 0票数 2

所以,我在这里是个新手,但这是一个我似乎无法克服的问题。批量编写一段代码来启动程序,并模拟单次按键。下面是有问题代码块

代码语言:javascript
复制
@echo off

set SendKeys=CScript //nologo //E:JScript "%~F0"
ping -n 5 -w 1 127.0.0.1 
start .\cc6.exe 
%SendKeys% "{ENTER}"

// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));

代码返回“条件编译已关闭”错误。搜索解决方案告诉我,添加

代码语言:javascript
复制
/*@cc_on @*/

应解析站点并打开条件编译。但是,在中添加该段将导致“‘/*@cc_on’不被识别为内部或外部命令、可操作程序或批处理文件。”错误。

EN

回答 3

Stack Overflow用户

发布于 2014-02-11 14:20:03

您需要以这种方式通过@if命令使用条件编译:

代码语言:javascript
复制
@if (@CodeSection == @Batch) @then

@echo off

set SendKeys=CScript //nologo //E:JScript "%~F0"
ping -n 5 -w 1 127.0.0.1 
start .\cc6.exe 
%SendKeys% "{ENTER}"

goto :EOF

@end

// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));

@if命令将忽略以下代码,直到下一个@end(@CodeSection == @Batch)部分只是一个在JScript中具有false值但在批处理中有效的表达式,而@then部分可以是刚刚完成批处理部分语法的任何单词。您还必须在JScript部分之前包含一个goto :EOF命令,否则它将作为批处理代码执行。

票数 4
EN

Stack Overflow用户

发布于 2020-03-01 16:40:26

大多数编程语言使用if来表示条件或条件表达式和语句。

要打开JScript的条件编译,还需要一条if语句。通常,您会通过注释将批处理代码与JScript分开。

JScript是在1996年引入的,只有IE3.0支持客户端脚本,其语法类似于Javascript,“微软的ECMAScript方言”。

@cc_on在IE10和更早的版本中激活了脚本注释中的条件编译,这意味着注释中的代码将被视为代码&执行,而不是注释。当然,它只能由知道它的浏览器/应用程序执行,否则它将被忽略或视为注释。(有点像“我不知道”大多数违法者为违法找的借口,或者是那些看得超出已知感官所能观察到的人的不同行为。)

IE 11+和Windows store应用程序不支持条件编译。

您正在运行的代码位于批处理文件中,而不是在内部资源管理器中执行客户端脚本,因此您不需要在代码中使用@cc_on

在您的批处理文件中尝试以下格式:

代码语言:javascript
复制
@if (@a==@a) @end /*
        cscript //E:JScript //nologo "%~f0" %*

    REM --- Insert other batch codes here ---

        exit /b 
*/

// --- JScript codes below this line ----

// --- insert more scripts ---
WScript.Echo(" Code activated, blah!");
WScript.Quit(0);
票数 1
EN

Stack Overflow用户

发布于 2014-02-11 13:09:50

我认为/*@cc_on @*/需要插入到jscript脚本文件中,而不是您发布的批处理文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21693233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档