mad_ddog
Wednesday, September 24, 2008
  Faster way to reset and clean your Blackberry simulator


/*

@echo off

REM clean up the simulator directory, this just involves wiping all files new since the SDK was installed

if not exist _manifest goto error

REM mark files in manifest as read only

for /f %%f in ( _manifest ) do attrib +r %%f

REM delete everything else

del /q /a-r *.*

REM clear the read only flag

for /f %%f in ( _manifest ) do attrib -r %%f

goto end

:error
echo Can't find the master manifest! exiting...

:end

*/

var fso;
var files = new Object();
var manifestFile = "_manifest";
var ReadOnly = 1;
var dir = ".";
var start = new Date();

fso = new ActiveXObject("Scripting.FileSystemObject");

if (WScript.Arguments.length > 0)
{
dir = WScript.Arguments.Item(0);
if (!fso.FolderExists(dir))
{
WScript.StdErr.WriteLine("'"+dir+"' isn't a directory.");
WScript.Quit(-1);
}
manifestFile = dir+"\\"+manifestFile;
}

if (!fso.FileExists(manifestFile))
{
WScript.StdErr.WriteLine("Can't find manifest file: '"+manifestFile+"'.");
WScript.Quit(-1);
}

var ts = fso.OpenTextFile(manifestFile);
while (!ts.AtEndOfStream)
{
var line = ts.ReadLine();
files[line.toLowerCase()] = 1;
}
ts.Close();
ts = null;

var folder = fso.GetFolder(dir);
var fc = new Enumerator(folder.files);
for (; !fc.atEnd(); fc.moveNext())
{
var file = fc.item();
if (typeof(files[file.Name.toLowerCase()]) == "undefined")
{
var attribs = file.Attributes;
if (0 == (attribs & ReadOnly))
{
file.Delete(true);
}
}
}

var end = (new Date())-start;
WScript.StdErr.WriteLine("Time: "+end);

WScript.Quit(0);



Powered by Blogger