Set oWSH = CreateObject("WScript.Shell") Set oAPP = CreateObject("Shell.Application") Set oFSO = CreateObject("Scripting.FileSystemObject") Set oWMI = GetObject("winmgmts:\\.\root\CIMV2") vbsInterpreter = "cscript.exe" Call ForceConsole() If isUAC Then Call runElevated() Set oUSB = oAPP.BrowseForFolder(0, "Selecciona unidad USB", 0, 17) If oUSB Is Nothing Then MsgBox "Selección cancelada por el usuario." & vbcrlf & "Script terminado", vbCritical + vbOkOnly, "AikonCWD USB repair tool v1.0" WScript.Quit End If Call FindFiles(oUSB.Self.Path) MsgBox "Proceso finalizado, revisa tu unidad USB: " & vbcrlf & vbcrlf & oUSB.Title & " - " & oUSB.Self.Path WScript.Quit Function FindFiles(Folder) Set oFolder = oFSO.GetFolder(Folder) Set cFiles = oFolder.Files For Each sFile In cFiles nam = oFSO.GetBaseName(sFile.Path) ext = oFSO.GetExtensionName(sFile.Path) sFile.Attributes = 0 Next For Each subFolder in oFolder.SubFolders subFolder.Attributes = 0 Call FindFiles(subFolder.Path) Next End Function Function printf(txt) WScript.StdOut.WriteLine txt End Function Function printl(txt) WScript.StdOut.Write txt End Function Function scanf() scanf = LCase(WScript.StdIn.ReadLine) End Function Function wait(n) WScript.Sleep Int(n * 1000) End Function Function cls() For i = 1 To 50 printf "" Next End Function Function ForceConsole() If InStr(LCase(WScript.FullName), vbsInterpreter) = 0 Then oWSH.Run vbsInterpreter & " //NoLogo " & Chr(34) & WScript.ScriptFullName & Chr(34) WScript.Quit End If End Function Function runElevated() If isUACRequired Then If Not isElevated Then RunAsUAC Else If Not isAdmin Then printf " ERROR: Necesitas ejecutar este script como Administrador!" printf "" printf " Press to quit" scanf WScript.Quit End If End If End Function Function isUACRequired() On Error Resume Next r = isUAC() If r Then intUAC = oWSH.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") If intUAC = "" Then intUAC = 1 r = 1 = intUAC End If Err.Clear On Error GoTo 0 isUACRequired = r End Function Function isElevated() isElevated = CheckCredential("S-1-16-12288") End Function Function isAdmin() isAdmin = CheckCredential("S-1-5-32-544") End Function Function CheckCredential(p) Set oWhoAmI = oWSH.Exec("whoami /groups") Set WhoAmIO = oWhoAmI.StdOut WhoAmIO = WhoAmIO.ReadAll CheckCredential = InStr(WhoAmIO, p) > 0 End Function Function RunAsUAC() If isUAC Then oAPP.ShellExecute vbsInterpreter, "//NoLogo " & Chr(34) & WScript.ScriptFullName & Chr(34), "", "runas", 1 WScript.Quit End If End Function Function isUAC() Set cWin = oWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem") r = False For Each OS In cWin If Split(OS.Version,".")(0) > 5 Then r = True Else r = False End If Next isUAC = r End Function