Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
næsten alt programmering bruger \ som en escape char, så derfor bliver man nødt til at lave 2 :P..
Og ja, vbs er ligesom en bat fil du laver i notepad, den hedder bare .vbs bagefter isted for .bat.
run.bat:
@echo off Start regme.vbs Start minfil.reg
regme.vbs:
Dim result Dim WSHShell Dim Line1 Dim Line2 Dim Line3 Dim Line4 Dim Line5 Set WSHShell = WScript.CreateObject("WScript.Shell") result = InputBox("Skriv dit brugerID","Skriv BrugerID","", 100, 100)
Line1 = "Windows Registry Editor Version 5.00" Line2 = "" Line3 = "[HKEY_CURRENT_USER\Software\IBM\Content Manager\8.x\Client\General\Directories]" Line4 = """Cache""=""C:\\Documents and Settings\\" & result & "\\Application Data\\IBM\\Content Manager\\WORK""" Line5 = ""
Set myFSO = CreateObject("Scripting.FileSystemObject") Set WriteStuff = myFSO.OpenTextFile("minfil.reg", 8, True) WriteStuff.WriteLine(Line1) WriteStuff.WriteLine(Line2) WriteStuff.WriteLine(Line3) WriteStuff.WriteLine(Line4) WriteStuff.WriteLine(Line5) WriteStuff.Close SET WriteStuff = NOTHING SET myFSO = NOTHING
Med dette vbs-script, slipper du for spørgsmålet undervejs :-)
Dim Wshshell, WshNetwork, user Set WshShell = Wscript.CreateObject("Wscript.Shell") Set WshNetwork = createobject( "wscript.network" ) user=WshNetwork.username
Wshshell.RegWrite "HKEY_CURRENT_USER\Software\IBM\Content Manager\8.x\Client\General\Directories\Cache", "C:\\Documents and Settings\\" & user & "\\Application Data\\IBM\\Content Manager\\WORK", "REG_SZ"
Nu er HKEY_CURRENT_USER jo i sig selv bruger-specifik, så det vil ikke hjælpe noget at skrive andre brugere ind i denne nøgle. Fordi når de andre brugere logger sig ind på computeren, vil det være en anden hive-fil, der fungerer som HKEY_CURRENT_USER ;-)
Men hvis det af én eller anden grund alligevel ønskes, at kunne indtaste et alternativ til den faktiske bruger, kan man gøre det med følgende script (minimerer risikoen for fejlindtastning):
Dim Wshshell, WshNetwork, usr, user Set WshShell = Wscript.CreateObject("Wscript.Shell") Set WshNetwork = createobject( "wscript.network" ) usr=WshNetwork.username user = InputBox("Skriv dit brugerID","Skriv BrugerID", usr, 100, 100)
Wshshell.RegWrite "HKEY_CURRENT_USER\Software\IBM\Content Manager\8.x\Client\General\Directories\Cache", "C:\\Documents and Settings\\" & user & "\\Application Data\\IBM\\Content Manager\\WORK", "REG_SZ"
Hvis scriptet også skal være åben for variation i hvilket drev, styresystemet ligger på, kan det gøres således:
MED SPØRGSMÅL:
Dim Wshshell, WshNetwork, WshEnv, usr, user, home Set WshShell = Wscript.CreateObject("Wscript.Shell") Set WshNetwork = createobject( "wscript.network" ) Set WshEnv = WshShell.Environment("Volatile") usr=WshNetwork.username user = InputBox("Skriv dit brugerID","Brugernavn", usr, 100, 100) home = WshEnv("homedrive") Wshshell.RegWrite "HKEY_CURRENT_USER\Software\IBM\Content Manager\8.x\Client\General\Directories\Cache", home & "\\Documents and Settings\\" & user & "\\Application Data\\IBM\\Content Manager\\WORK", "REG_SZ"
UDEN SPØRGSMÅL:
Dim Wshshell, WshNetwork, WshEnv, user, home Set WshShell = Wscript.CreateObject("Wscript.Shell") Set WshNetwork = createobject( "wscript.network" ) Set WshEnv = WshShell.Environment("Volatile") user=WshNetwork.username home = WshEnv("homedrive") Wshshell.RegWrite "HKEY_CURRENT_USER\Software\IBM\Content Manager\8.x\Client\General\Directories\Cache", home & "\\Documents and Settings\\" & user & "\\Application Data\\IBM\\Content Manager\\WORK", "REG_SZ"
Puha...for en som mig der dårligt kan lave bat filer :-)) Nå men det ser spændende ud. Er VBscript det jeg skal lære, hvis jeg vil lave små programmer der kan lidt af hvert?? Er VB bare et skridt højere end bat filer og findes der noget endnu bedre???
Det første du skal lære er at skelne mellem VB og VBscript ;-)
VBscript (Visual basic scripting) er et scriptsystem, som har mange flere muligheder end batch. Og som giver et mere professionelt udseende (pga windows-udseendet). Men Vbscript har også mange begrænsninger. Et mere effektivt programmeringssprog (som stadig er rimelig nemt at lære) er fx Visual Basic. Men her skal du så ud i at have fat i et compilerprogram. Medmindre du bruger dot-net, som jeg dog ikke ved så meget om.
Jeg vil sige at vbscript er allerede noget sværere end batch. Så hvis du har problemer med batch, så skal du nok indstille dig på, at du skal læse en del, inden du får hold på vbscript :-). Og måske skulle du overveje at tage skridtet videre til VB, Java eller C++ med det samme. Da der er mange flere muligheder i disse sprog...
Arne_v har skrevet en udmærket artikel, der introducerer til forskellige programmeringssprog. Han beskæftiger sig dog ikke med script-sprogene: http://www.eksperten.dk/artikler/251
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.