如何在批处理文件中使用不同的编程语言?

如何在批处理文件中使用不同的编程语言?

我看到一个 BAT 文件,里面使用了不同的编程语言

是的(Java 脚本)

@if (true == false) @end /*
@echo off
bg font 6 & cls
cmdwiz showcursor 0

if defined __ goto :START
set __=.
cmdgfx_input.exe m0unW14x | call %0 %* | cmdgfx_gdi "" Sf0:0,0,180,110W0
set __=
goto :eof

:START
setlocal EnableDelayedExpansion
set /a F6W=180/2, F6H=110/2
mode %F6W%,%F6H%

cmdwiz getdisplaydim w & set SW=!errorlevel!
cmdwiz getdisplaydim h & set SH=!errorlevel!
cmdwiz getwindowbounds w & set WINW=!errorlevel!
cmdwiz getwindowbounds h & set WINH=!errorlevel!
set /a WPX=%SW%/2-%WINW%/2, WPY=%SH%/2-%WINH%/2-20
cmdwiz setwindowpos %WPX% %WPY%

cscript //nologo //e:javascript "%~dpnx0" %*
::cmdwiz getch & rem Enable this line to see jscript parse errors

mode 80,50
echo "cmdgfx: quit"
title input:Q
endlocal
exit /b 0 */


var W=180, H=110, RY=0
var XMID=W/2, YMID=H/2-53
var DIST=2500, ASPECT=0.6925
var DRAWMODE=0, GROUNDCOL=3, PLYCHAR="db"

var ACCSPEED=270
var MAXCUBES=30

var fs = new ActiveXObject("Scripting.FileSystemObject")
var shell = new ActiveXObject("WScript.Shell")

var HISCORE=0
var inputfile = "hiscore.dat";
if (fs.FileExists(inputfile))
{
    var f1 = fs.OpenTextFile(inputfile, 1)  // 1=ForReading
    HISCORE = parseInt(f1.ReadLine())
    f1.close()
}
and bla bla bla...

在文件夹文件中;

执行文件

输入法

命令提示符

程序

问题;我可以使用(C++ - C - python)不同的编程语言(如该示例“.bat”文件)吗?

如何?

如果你想检查那个 BAT 游戏它的名字是;“命令运行器

答案1

此文件是黑客所为。它由两部分组成:

  • 批次代码
    • 如果你仔细观察,你会发现此代码的大部分内容实际上是一个 JavaScript 多行注释,从第 1 行末尾开始,到之后结束exit /b 0
  • JavaScript 部分

批处理脚本执行一些可能由 JavaScript 部分调用或不调用的操作,然后使用cscript基于控制台的 Windows 脚本宿主启动“自身”。

第一行在 Batch 或 JavaScript 中都不会产生错误。

您可以使用任意语言组合,只要它是一种解释型语言(否则您必须编译并运行生成的程序)并且只要您可以制作一个对关键部分都有效的文件。

但这基本上是没有意义的。

相关内容