Emulating of WSH
To make it easy migrate already existing scripts written for WSH to HippoEDIT scripts, or just simplify your learning curve with HippoEDIT scripting, HippoEDIT provides limited emulation of WSH objects and methods.
Explicitly there are following objects:
- WScript (IWScript),
- TextStream (IWshTextStream) and
- Arguments (IWshArguments)
- rest of objects can be created with help of WScript.CreateObject
Following methods are not supported:
Here is simple example that demonstrate emulation:
- wscript.js
var WshShell = WScript.CreateObject("WScript.Shell"); var WshExec = WshShell.Exec("cmd /c dir c:\\"); while (!WshExec.StdOut.AtEndOfStream) WScript.Echo( WshExec.StdOut.ReadLine() ); WScript.Echo(WScript.Fullname + ", v:" + WScript.BuildVersion); WScript.Echo("Hi one"); WScript.Quit(); WScript.Echo("Hi two"); // this should not be executed
After execution inside of HippoEDIT (Tools→Execute→wscript.js) you will get following text in Output Window:
Volume in drive C is SYSTEM\\ Volume Serial Number is 4487-D7CB\\ Directory of c:\ 22.05.2011 00:44 1 024 .rnd 02.07.2012 08:29 <DIR> boost 14.08.2012 23:21 <DIR> PDB 04.07.2012 00:22 <DIR> Program Files 24.07.2012 23:00 <DIR> Program Files (x86) 30.11.2011 01:30 <DIR> Users 15.08.2012 03:10 <DIR> Windows 1 File(s) 1 024 bytes 6 Dir(s) 31 271 751 680 bytes free C:\Program Files\HippoEDIT\HippoEdit.exe, v:150775 Hi one
If you want to use WSH emulation for Python scripts, be aware that you need to start all your WScript object calls by Application. Something like this: Application.WScript.Echo(“…”).