这个Windows批处理文件如何运行嵌入式javascript?

Windows如何知道这是JSCRIPT?
@set @junk=1 /*
@echo off
cscript //nologo //E:jscript %0 %*
goto :eof
*/
x = WScript.Arguments
Yr = x(0) ; Mo = x(1)

YS = "JanFebMaraprMayJunJulAugSepOctNovDec"
MN = Mo<1 || Mo>12 ? Mo : YS.substr(3*Mo-3,3) // Month Name
WScript.echo(" ",Yr,"         ",MN)
WScript.echo(" Mo Tu We Th Fr Sa Su")
WD = new Date(Yr,Mo-1,1).getDay() ;
if (WD==0) WD = 7 // Week Day Number of 1st
LD = new Date(Yr,Mo,0).getDate() // Last Day of month
Wk = "" ; for (D=1 ; D < WD ; D++) Wk += "   "

for (D=1 ; D<=LD ; D++) {
  Wk = Wk + " " + (D<10 ? "0"+D : D) ; WD++
  if ((WD==8) || (D==LD)) { WScript.echo(Wk) ; WD = WD-7 ; Wk = "" }
  }

WScript.echo("        ------       ")

样品用法

C:\batch>calendar.cmd 2014 7
  2014           Jul
 Mo Tu We Th Fr Sa Su
    01 02 03 04 05 06
 07 08 09 10 11 12 13
 14 15 16 17 18 19 20
 21 22 23 24 25 26 27
 28 29 30 31
        ------
真的很简单.第一行是有效的批处理文件语言,用于设置shell变量以及忽略最后一个空格后的所有内容.它也是用于设置编译时变量的有效JSCRIPT,最后两个字符开始一个Javascript注释,导致其余的批处理文件语言行被忽略.

cscript行导致JSCRIPT使用相同的参数%*执行相同的文件%0.然后批处理goto语句使用:eof,它是表示文件结尾的内置标签.

如果您是初学者,并且花时间学习如何将JSCRIPT应用于Windows shell脚本的问题,您可以使用Web应用程序,Windows HTML应用程序(.HTA)在浏览器中重新应用您的Javascript知识,甚至在shell中在安装了Rhino或node.js的Unix平台上编写脚本.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...