var shell = WScript.CreateObject('WScript.Shell'); var fso = WScript.CreateObject('Scripting.FileSystemObject') function getDir(path){ return path.split('\\').slice(0, -1).join('\\'); } function listLnk(dir){ var dobj = fso.GetFolder(dir); var fenum = new Enumerator(dobj.Files); var denum = new Enumerator(dobj.SubFolders); var outarr = []; for(; !fenum.atEnd(); fenum.moveNext()) if(fenum.item().Name.slice(-4) == '.lnk') outarr.push(fenum.item().Path); for(; !denum.atEnd(); denum.moveNext()){ var ar = listLnk(denum.item().Path); for(var i = 0; i < ar.length; i++) outarr.push(ar[i]); } return outarr; } function kissShortcut(pth){ var shortcut = shell.CreateShortcut(pth); shortcut.IconLocation = getDir(WScript.ScriptFullName)+'\\boykisser.ico,0'; shortcut.Save(); } function kissFolder(fol, dbg){ var lnks = listLnk(fol); for(var i = 0; i < lnks.length; i++){ if(dbg) WScript.Echo('kissing: ' + lnks[i]); try{ kissShortcut(lnks[i]); }catch(e){ var exec = shell.Exec('cmd /c takeown /f "' + lnks[i] + '" && icacls "' + lnks[i] + '" /grant:r "%username%":f'); while(exec.Status != 1) WScript.Sleep(100); try{ kissShortcut(lnks[i]) }catch(e){ if(dbg) WScript.Echo('failed: ' + lnks[i]); } } } } kissFolder(shell.ExpandEnvironmentStrings('%programdata%') + '\\Microsoft\\Windows\\Start Menu\\Programs', true); kissFolder(shell.ExpandEnvironmentStrings('%appdata%') + '\\Microsoft\\Windows\\Start Menu\\Programs', true); kissFolder(shell.ExpandEnvironmentStrings('%public%') + '\\Desktop', true); kissFolder(shell.ExpandEnvironmentStrings('%userprofile%') + '\\Desktop', true);