这个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平台上编写脚本.

相关文章

(1)when you ping a computer from itsafe,the ping command should return the local IP address. (...
1、点击win菜单,点击设置图标 2、选择系统选项 3、选择应用与程序选项 4、拉到最下方,选择程序与功能...
目前一直直接往Windows 2008 R2 Server中复制文件(暂时还没有搭建ftp服务),突然不能复制了,于是百度...
windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,p...
在控制面板的程序与功能里启用和关闭windows功能打开,适用于linux的windows子系统
效果演示 推荐一个非常牛的文档网站生成器:docsify 我通过这个工具,成功将码云上的个人学习笔记发布到...