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
------发布于 2011-02-15 10:35:07
这真的很简单。第一行是用于设置shell变量的有效批处理文件语言,最后一个空格之后的所有内容都将被忽略。它也是设置编译时间变量的有效JSCRIPT,最后两个字符以Javascript注释开头,这会导致其他批处理文件语言行被忽略。
Jscript行导致cscript使用相同的参数%*执行相同的文件%0。然后,批处理goto语句使用:eof,这是一个表示文件末尾的内置标签。
如果您是初学者,并且花时间学习如何应用JSCRIPT来解决Windows shell脚本编写问题,您可以在浏览器中通过web应用程序、Windows HTML应用程序(.HTA),甚至在安装了Rhino或node.js的Unix平台上的shell脚本中重新应用您的Javascript知识。
https://stackoverflow.com/questions/4999395
复制相似问题