Posts Tagged ‘Hybrid’

Self incrementing version define

November 16, 2010

Thanks to JScript’s conditional compilation feature it is possible to execute code in comments, this allows you to create valid c header files with embedded JScript. This can come in handy in a custom build step

/*@cc_on@*//*@if (!@_jscript)@
============================*/

#define APPVER_BLD 1

/*============================
@else 
var FSO=new ActiveXObject("Scripting.FileSystemObject");
var lines=[],hF=FSO.OpenTextFile(WScript.ScriptFullName,1,false);
for(;!hF.AtEndOfStream;){lines.push(hF.ReadLine());}hF.Close();
if (lines.length) {
	hF=FSO.OpenTextFile(WScript.ScriptFullName,2,false);
	for(var line,i=0;i<lines.length;++i) {
		if (((line=lines[i]).indexOf("#def"+"ine"))!=-1) {
			line=line.split(" ");
			line[2]=parseInt(line[2])+1;
			line=line.join(" ");
		}
		hF.WriteLine(line);
	}
}
@end @*/
Advertisements

The bastard love child of BAT and WSH

November 4, 2009

The (default) PATHEXT environment variable contains .vbs/.js/.wsf but wscript.exe is usually set as the default windows scripting engine host, so running scripts in a terminal is a big pain. What if we could put the WSH script inside a batch file so we don’t have to prefix every call with cscript //nologo ?
(more…)