首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个Windows批处理文件如何运行嵌入式javascript?

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

Stack Overflow用户
提问于 2011-02-15 10:31:48
回答 1查看 2.3K关注 0票数 6

Windows如何知道这是JSCRIPT?

代码语言:javascript
复制
@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("        ------       ")

示例用法:

代码语言:javascript
复制
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
        ------
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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知识。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4999395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档