home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 July & August / PCWorld_2005-07-08_cd.bin / software / vyzkuste / tipy / tipy.exe / pcwUnlockFile.vbs < prev    next >
Text File  |  2005-05-10  |  4KB  |  83 lines

  1. Set MyShell = Wscript.CreateObject("Wscript.Shell")
  2. Set MyFiles = WScript.CreateObject("Scripting.FileSystemObject")
  3. Set c = MyShell.Environment("PROCESS")
  4.     windir = c("windir")
  5. Set arg=wscript.arguments
  6. On Error Resume Next
  7.  
  8. Dateipfad = arg(0)
  9. Dateiname = Myfiles.GetFileName(DateiPfad)
  10.  
  11. check = MyShell.Regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\pcwUnlockFile")
  12.  
  13. If check = 1 Then
  14.  
  15.     Backup1 = MyShell.Regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourceBak")
  16.     Backup2 = MyShell.Regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServiceBak")
  17.  
  18.     MyShell.Regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath", Backup1, "REG_SZ" 
  19.  
  20.     MyShell.Regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServicePackSourcePath", Backup2, "REG_SZ"
  21.  
  22.     MyShell.Regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourceBak" 
  23.     MyShell.Regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServiceBak"
  24.  
  25.     MyShell.Regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\pcwUnlockFile"
  26.  
  27.     MyShell.Regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\pcwUnlockFile"
  28. Else    
  29.  
  30.     If Dateipfad = "" Then
  31.         Fehler = MsgBox("P°i spuÜt∞nφ skriptu zadejte prosφm nßzev souboru, kter² se mß odblokovat, vΦetn∞ ·plnΘ cesty k n∞mu jako argument.", 48, "Chyba")
  32.         wscript.quit
  33.     ElseIf not (myfiles.FileExists(Dateipfad)) Then
  34.         Fehler = MsgBox("Zadan² soubor nebyl nalezen.", 48, "Chyba")
  35.         wscript.quit
  36.     End If
  37.  
  38.     Quelle1 = MyShell.Regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath")
  39.     Quelle2 = MyShell.Regread("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServicePackSourcePath")
  40.  
  41.     MyShell.Regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourceBak", Quelle1, "REG_SZ"
  42.  
  43.     MyShell.Regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServiceBak", Quelle2, "REG_SZ"
  44.  
  45.     MyShell.Regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath" 
  46.     MyShell.Regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServicePackSourcePath"
  47.  
  48.     MyShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\pcwUnlockFile", 1, "REG_SZ"
  49.  
  50.     Dllcache = MyShell.Regread("Hkey_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\SFCDllCacheDir")
  51.  
  52.     If Dllcache = "" Then Dllcache = windir & "\System32\dllcache"
  53.     If Mid(Dllcache, Len(Dllcache), 1) = "\" Then Dllcache = Mid(Dllcache, 1, Len(Dllcache)-1)
  54.  
  55.     loeschen = MyShell.Run("cmd /c del " & Chr(34) & dllcache & "\" & Dateiname & Chr(34), 0, True)
  56.  
  57.     umbenennen = MyShell.Run("cmd /c ren " & Chr(34) & Dateipfad & Chr(34) & " " & Dateiname & "_Backup", 0, True)
  58.     Err.Clear
  59.  
  60.     Set Schreibvers = MyFiles.OpenTextFile(Dateipfad & "_Backup", 8, False)
  61.     Schreibvers.Close
  62.     Err.Clear
  63.  
  64.     ZwStopp = MsgBox("PoΦkejte, a₧ vßs Windows vyzvou ke vlo₧enφ instalaΦnφho CD disku Windows." & chr(13) & "Klepn∞te na tlaΦφtko Z R U è I T'." & chr(13) & "V nßsledujφcφm dialogovΘm okn∞ klepn∞te na tlaΦφtko A N O." & chr(13) & "Pokud se b∞hem jednΘ minuty neobjevφ ₧ßdnΘ dialogovΘ okno, klepn∞te na tlaΦφtko OK.", 64, "PoΦkejte prosφm...")
  65.     
  66.     kopieren = Myfiles.CopyFile(Dateipfad & "_Backup", Dateipfad, True)
  67.     
  68.     MyShell.Regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\pcwUnlockFile", wscript.ScriptFullName, "REG_SZ"
  69.  
  70.     n=0
  71.     Do
  72.         if (myfiles.FileExists(dllcache & "\" & Dateiname)) Then Exit Do
  73.         Wscript.Sleep(1000)
  74.         n=n+1
  75.     loop until n=10
  76.  
  77.     Fertig = MsgBox("Nynφ m∙₧ete soubor " & Dateipfad & " libovoln∞ modifikovat." & chr(13) & "Nakonec restartujte poΦφtaΦ.", 64, "Hotovo")
  78.  
  79.     loeschen = MyShell.Run("cmd /c del " & Chr(34) & dllcache & "\" & Dateiname & Chr(34), 0, True)
  80.     MyShell.Run("Explorer /select, " & DateiPfad)
  81. End if
  82.         
  83.