var path = "d:\\downloads";
//////////////////////downloads
var fso = new ActiveXObject("Scripting.FileSystemObject");
var WshShell = new ActiveXObject("WScript.Shell");

path=Open();

if (!fso.FolderExists(path)){
WshShell.Popup("  \n"+path, 3, "!", 0 + 16);
WScript.Quit();
}
var list = GetFiles(path);
if(list.length < 1)
{
	WScript.Echo("Not Found Empty Folders");
	WScript.Quit();
}
var btn = WshShell.Popup("  ?\n"+list.join("\n"), 7, "  ?", 4 + 32);
switch (btn)
{
  case -1:
    WScript.Quit();
    break;
  case 6:
    for(var j=0;j<list.length;j++)
     fso.DeleteFolder(list[j]);
    break;
  default :
    WScript.Quit();
    break;
}
WScript.Echo("The End.");
//////////////////////////////////////////
function Open()
{
var objFolder;
try
{
objFolder = new ActiveXObject("Shell.Application").BrowseForFolder(0, " ", 16+1, "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
}
catch(e)
{
 return "";
}	
return objFolder.Self.Path;
}

function GetFiles(folderPath)
{
var list = new Array();
var empty = new Array();
var f = fso.GetFolder(folderPath);
var folders = new Enumerator(f.SubFolders);
var p = "";
for (; !folders.atEnd(); folders.moveNext())
{
 p=folders.item().Path;
 if (folders.item().Size == 0)
   empty.push(p);
 else
   list.push(p);
}
////////
var currpath = "";
if (list.length==0) return empty;
while (list.length>0)  
{
  p=list.pop();
  f = fso.GetFolder(p);
  folders = new Enumerator(f.SubFolders);
  for (; !folders.atEnd(); folders.moveNext())
  {
    currpath=folders.item().Path;
    if (folders.item().Size == 0)
     empty.push(currpath);
    else 
     list.push(currpath);
  }
}
return empty;  
}


