Discussion forum for all Windows batch related topics.
Moderator: DosItHelp
-
aGerman
- Expert
- Posts: 4678
- Joined: 22 Jan 2010 18:01
- Location: Germany
#16
Post
by aGerman » 16 May 2011 17:03
Well Dave, don't get me wrong -- this is a batch forum and I appreciate pure batch solutions. My objection was if you use JScript you should make as simple as you can. Normally I try to avoid those chimeras because they slow down your batch file enormously. If there is no (good) possibility with pure batch I prefer writing the whole thing in VBScript or C++.
How ever.
You could use functions in the JScript and then call one of them depending on an argument.
Code: Select all
@set @junk=0 /* The 1st 3 lines should not be changed
@echo off & set "@junk="
setlocal
cscript //nologo //e:jscript "%~f0" year
cscript //nologo //e:jscript "%~f0" month
cscript //nologo //e:jscript "%~f0" day
pause
goto :eof
*/
var d = new Date();
var arg = WScript.Arguments(0)
if (arg == "year") year();
else if (arg == "month") month();
else if (arg == "day") day();
else WScript.Quit(1);
function year() {
WScript.Echo(d.getFullYear());
}
function month() {
WScript.Echo(d.getMonth() + 1);
}
function day() {
WScript.Echo( d.getDate());
}
Regards
aGerman
-
!k
- Expert
- Posts: 378
- Joined: 17 Oct 2009 08:30
- Location: Russia
#17
Post
by !k » 17 May 2011 11:57
aGerman wrote:Sorry guys, but now I'm totally confused. On the right hand you use JScript-injection, on the left hand nobody has the idea to use it for getting the date directly
-
aGerman
- Expert
- Posts: 4678
- Joined: 22 Jan 2010 18:01
- Location: Germany
#18
Post
by aGerman » 17 May 2011 12:53
OMG, you're right !k
I forgot getMonth() returns 0 for january and 11 for december, so we have to add 1. I will edit the codes above...
Thanks
aGerman