2016-11-10 111 views
0

我想在bat文件中运行该代码如下:Jscript脚本里面的批处理文件

@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扩展中运行它。

+0

您的第一行应该有一个打开的jscript注释块,以便它跳过批处理文件代码。你的结尾评论也应该有星号。 – Squashman

+0

打开jscript注释块的批处理文件代码之前的第一行:@if(@X)==(@ Y)@end/*开始JScript注释的无害混合行。行关闭jscript注释块。 '************ JScript部分*********** /'Jscript代码在此之后。 – Squashman

+4

请避免像这样的Frankenscript,特别是如果你没有在任何语言的经验首先。创建两个文件,然后从另一个中调用一个文件。 –

回答

2

这是一个“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 */