VBS: Ordner sperren

    • VBScript (VBS)

      VBS: Ordner sperren

      Folgender Code in eine .VBS-Datei gepackt schützt einen Ordner vor Zugriff. Zwar nicht sehr sicher, aber doch für den Standard-DAU kaum zu knacken:

      Visual Basic-Quellcode

      1. dim ordner(40)
      2. Set dat = CreateObject("Scripting.FileSystemObject")
      3. Set MyShell=Wscript.CreateObject("Wscript.Shell")
      4. w = WScript.ScriptFullName
      5. Set a = dat.OpenTextFile(w, 1)
      6. Set b = dat.CreateTextFile("c:\$tmp$.BAT", True)
      7. do
      8. n=n+1
      9. zeile=a.readline
      10. ordner(n)=mid(zeile,2)
      11. loop until instr(ordner(n),"========")
      12. code=a.readall
      13. a.Close
      14. for x = 1 to n - 1
      15. liste = liste & chr(13) & chr(10) & ordner(x)
      16. next
      17. if n > 1 then
      18. modus = MyShell.Popup ("Ordner verschliessen?",,"",3)
      19. else
      20. modus = 6
      21. end if
      22. if modus=2 then
      23. wscript.quit
      24. else
      25. if modus=6 then
      26. WinDisable
      27. else
      28. WinEnable
      29. end if
      30. end if
      31. a.Writeline "'================================================"
      32. a.Write code
      33. a.Close
      34. b.close
      35. MyShell.run "command.com /c c:\$tmp$.BAT",2,True
      36. set del=dat.Getfile("c:\$tmp$.BAT")
      37. del.delete
      38. Sub WinDisable()
      39. Set a = dat.CreateTextFile(w, True)
      40. for x = 1 to n - 1
      41. a.writeline "'" & ordner(x)
      42. next
      43. do
      44. verz=inputbox("Neues Verzeichnis angeben" & chr(13) & chr(10) & liste)
      45. if verz <> "" then
      46. on error resume next
      47. set check=dat.getfolder(verz)
      48. if err.Number = 0 then
      49. a.writeline "'" & verz
      50. befehl="ren " & chr(34) & verz & chr(34) & " " & chr(34) & chr(223) & check.name & chr(34)
      51. b.writeline befehl
      52. liste=liste & chr(13) & chr(10) & verz
      53. else
      54. msgbox "Verzeichnis nicht vorhanden!"
      55. err.clear
      56. end if
      57. end if
      58. loop until verz=""
      59. end sub
      60. sub WinEnable()
      61. Set a = dat.CreateTextFile(w, True)
      62. frei=MyShell.popup("Alle Ordner freigeben?" & chr(13) & chr(10) & liste,,"",4)
      63. if frei = 6 then
      64. for x = 1 to n - 1
      65. nurname=ordner(x)
      66. do
      67. i=instr(nurname,"\")
      68. if i > 0 then nurname=mid(nurname,i+1)
      69. loop until i=0
      70. vorne=len(ordner(x))-len(nurname)
      71. befehl="ren " & chr(34) & left(ordner(x),vorne) & chr(223) & nurname & chr(34) & " " & chr(34) & nurname & chr(34)
      72. b.writeline befehl
      73. next
      74. end if
      75. if frei = 7 then
      76. for x = 1 to n - 1
      77. frei=MyShell.popup(ordner(x) & " freigeben?",,"",4)
      78. if frei=7 then a.writeline "'" & ordner(x)
      79. if frei=6 then
      80. nurname=ordner(x)
      81. do
      82. i=instr(nurname,"\")
      83. if i > 0 then nurname=mid(nurname,i+1)
      84. loop until i=0
      85. vorne=len(ordner(x))-len(nurname)
      86. befehl="ren " & chr(34) & left(ordner(x),vorne) & chr(223) & nurname & chr(34) & " " & chr(34) & nurname & chr(34)
      87. b.writeline befehl
      88. end if
      89. next
      90. end if
      91. end sub

      mfG,

      Malcolm

      Edit by Agent: vb-tag eingefügt

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()