【问题标题】:Jscript inside Batch File批处理文件中的 Jscript
【发布时间】:2016-11-10 14:21:07
【问题描述】:

我想在bat 文件中运行以下代码:

@echo off
echo ---------------------------------
ping -n 1 google.com | find "TTL=" >nul
if errorlevel 1 (
    echo google = OFFLINE
) else (
    echo google = ONLINE
)

然后我希望下面的下一个代码也将在if errorlevel 1 中运行:

WshShell.AppActivate "Mozilla Firefox"
WshShell.SendKeys "google Offline"
WshShell.SendKeys "{ENTER}"

如何运行上面的代码?
最后一个代码通常在vbs 扩展中运行,但我想在bat 扩展中运行。

【问题讨论】:

  • 您的第一行应该有一个打开的 jscript 注释块,以便它跳过批处理文件代码。你的结尾评论也应该有一个星号。
  • 打开jscript注释块的批处理文件代码前的第一行:@if (@X)==(@Y) @end /* harmless hybrid line that begins a JScript comment。关闭 jscript 注释块的行。 ************ JScript portion ***********/ Jscript 代码在此之后。
  • 请避免这样的Frankenscript,尤其是如果您一开始就没有任何一种语言的经验。创建两个文件,并从另一个调用一个。
  • 你的 cscript 行说你想使用 JSCRIPT。如果您想要一个混合的 Vbscript 和批处理文件代码,那么这将完全改变您的操作方式。
  • 用您更新的代码和 cmets 更新您的问题,然后删除您的评论。

标签: batch-file jscript


【解决方案1】:

这是一个“Frankenscript”;我喜欢这样的说法! ;)

@set @a=0; /*
@echo off
ECHO --------------------------------- 
ping -n 1 google.com | find "TTL=" >nul 
if errorlevel 1 (
   echo google = OFFLINE
   cscript //nologo //E:JScript "%~F0"
   if NextSection == JScript (      */
      WshShell = WScript.CreateObject("WScript.Shell");
      WshShell.AppActivate("Mozilla Firefox");
      WshShell.SendKeys("google Offline");
      WshShell.SendKeys("{ENTER}"); /*
   )
) else ( 
   echo google = ONLINE
)
rem */

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多