Stap 4: Het toevoegen van wat we geleerd hebben in het script
Hier is de code voor ontredderen het station:
set shellobj = CreateObject("WScript.Shell")
shellobj.run "cmd"
WScript.Sleep 200
shellobj.SendKeys "mountvol g:\ /d {Voer}"
_
U moet begrijpen dat dit zo ver van onze kleine tests alles
Hier is de code naar een figuur als hij wilde openen en sluiten van het eerste venster van de opdrachtprompt:
WScript.Sleep 2000
shellobj.SendKeys "c:\3.jpg{enter}exit{enter"}
_
Zoals u ziet kunt u meerdere opdrachten op één lijn zo lang als het venster nog geopend is. Het zal wachten tot de laatste opdracht is uitgevoerd voordat de volgende dia.
Hier is de code voor het pop omhooggaande vakken zodat uw script draaien blijft totdat u het station opnieuw inschakelen:
Dim MyVar
myVar = 2
terwijl myvar = 2
MyVar = MsgBox ("Turn drive back op", 65, "Turn station terug op")
wend
MsgBox ("We zullen nu aanzetten harde schijf terug!!!")
_
Merk op dat door de variabele Myvar = aan 2 wich is de waarde van de knop cancel op het berichtvenster zal lopen we continu herhalen totdat u op de knop ok drukt. Dit dwingt ons tot klikt u op Ja om het script te beëindigen. Pas na ja wordt geduwd doet de myval waarde te wijzigen in 1 en de lus te zijn gebroken therfore voortzetting van het script toestaan en overgeven aan de messagebox zeggen van de schijf zal vervolgens worden reenabled.
Nu als u onthouden van voordat het zal niet de volgende comand totdat de laatste opdracht is zo afgerond, totdat op de knop ok wordt gedrukt op de messagebox zal geen actie worden ondernomen.
Ja we net de messagebox kon gebruiken voor het opnieuw inschakelen van het station, maar dan als u niet dat het toegelaten nog maar per ongeluk klikt u op ok wilt er is geen vrijwaringsmaatregelen. Met de Ja/geen vak heb je geen keuze maar naar klikt u op Ja.
We kunnen ontdoen van de extra messagebox maar ik wil met een bevestiging dat de actie wordt ondernomen.
Nu krijgen we waar de bandenwissel, labeling en opruimen is gedaan. Nou zou je denken dat dit is enkel ongecompliceerd, maar haar niet. Als u merkt dat elke keer als we willen een enter of tab-toets in de lijn van onze ToetsenVerzenden (SendKeys) plaatsen type we enkel {ENTER}. De reden hiervoor is omdat het ziet de {en} als speciale tekens. Dus als we de cutrly haakjes gebruiken zoals ze worden afgedrukt in de guid {c0ea045c-56fe-11de-8a5a-001111cb3c76} zou de opdracht sendkeys esentually druk op de knop c0ea045c-56fe-11de-8a5a-001111cb3c76. Aangezien er geen dergelijke knop die ons script zou verpletteren en vervolgens geen remounted rijden voor ons.
Dus hoe krijgen we rond dat? Goed ironisch genoeg is het antwoord in de haakjes zelf. Sinds iets thtat binnen de accolades openen en sluiten is zal esentially worden verzonden als een ingedrukte toets dat we zomaar de beugel die we binnen de accolades openen en sluiten willen. Zo zou een open {{}} en een einde zou {}}
Nu het einde van onze code zou er als volgt uitzien:
shellobj.run "cmd"
WScript.Sleep 200
shellobj.SendKeys "mountvol g: \\?\Volume{{}c0ea045c-56fe-11de-8a5a-001111cb3c76{}}\{enter}label g: HDD1e {Voer} taskkill/f im rundll32.exe{enter}exit{enter}"