【发布时间】:2014-07-09 06:51:48
【问题描述】:
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
------
【问题讨论】:
-
我发布了这个 a) 因为它在 Windows 程序员中并不为人所知,b) 对于初学者来说,学习 Javascript 比与晦涩的批处理脚本或语法上残暴的 Powershell 搏斗要好。
-
我通常对这样的事情不感兴趣,但我认为这对于 StackOverflow 来说不是一个合适的“问题”(至少根据我对基本规则的解释)。
-
这个问题是关于编写代码来完成特定的事情,这就是编程的全部内容。并非每个问题都会为每个读者提供有用的信息,这就是我们有标签的原因。
-
我的意思是这不合适,因为这不是一个真正的问题。 Stack Overflow 是关于寻求和接受帮助,而不是发布提示和技巧(除非问题要求这样做)。虽然信息可能有用,但我认为它更适合不同的论坛。
-
感谢发帖!正是我的项目所需要的。令人惊讶的是,某些 bat 文件命令是多么晦涩难懂。这已经暴露了 :) JS 是给我的!
标签: javascript windows batch-file