Inhoudsopgave:

Inleiding tot VB Script: een beginnershandleiding: 11 stappen
Inleiding tot VB Script: een beginnershandleiding: 11 stappen

Video: Inleiding tot VB Script: een beginnershandleiding: 11 stappen

Video: Inleiding tot VB Script: een beginnershandleiding: 11 stappen
Video: RPA met Power Automate in Windows | Hoe we het hebben gebouwd: Xerox 2024, Juli-
Anonim
Inleiding tot VB Script: een beginnershandleiding
Inleiding tot VB Script: een beginnershandleiding

***((((ALERT: Hoewel er veel stappen zijn. Dit is eigenlijk vrij eenvoudig. Ik leg alles in detail uit voor de beginners. Als je alleen de code wilt, spring dan naar de laatste stap en je zult de volledige code daar.))))*** Ik speel veel Xbox live en moet altijd internet op mijn computer uitschakelen omdat het veel bandbreedte in beslag neemt. Vooral omdat ik de hele tijd dingen download of upload. Het probleem is niet het uitschakelen, maar het weer aanzetten dat ik het vergeet, waardoor ik al die upload- en downloadtijd kwijtraak. Dus besloot ik een programma te maken om het voor mij te doen. Ik was van plan om het in Vb.net te schrijven, maar ik moest onlangs mijn besturingssysteem op mijn computer vernietigen en plaveien vanwege een zware storm die mijn harde schijf brak, en ik heb VB.net nog niet opnieuw geïnstalleerd, dus ik dacht dat dit zou geef me een reden om met vbscript te spelen. Ik heb ook een afbeelding in paint gemaakt om op de achtergrond weer te geven, dus ik wist dat het actief was.

Stap 1: Zoek uit wat u wilt doen

Zoek uit wat je wilt doen
Zoek uit wat je wilt doen

Het eerste dat ik altijd doe, is een plan maken. Wat wil ik dat het programma doet? A) Ik wil het script kunnen openen en de verbinding wordt automatisch verbroken. B) Ik wil dat het een gigantisch scherm op de achtergrond weergeeft, dus er is geen fout dat internet is uitgeschakeld, op deze manier vergeet ik niet om het weer aan te zetten. C) Ik wil dat het me een keuze geeft om het in te schakelen weer aan en wacht op een reactie. D) Ik wil dat het ervoor zorgt dat ik het weer aanzet zodat ik het niet vergeet. E) Als ik dan daadwerkelijk ja zeg om het weer aan te zetten, zet het script het weer aan en sluit vervolgens de achtergrond. F) Sluit alles af.

Stap 2: Dingen die ik gebruik maar niet echt nodig heb

Dingen die ik gebruik maar niet echt nodig heb
Dingen die ik gebruik maar niet echt nodig heb

Het enige dat u echt nodig hebt, is een teksteditor zoals Kladblok. Al het andere is optioneel. Ik gebruik Notepad ++ wanneer ik VB-script doe, dus omdat het het behandelt zoals vb.net doet met kleuren en de taal kent. Het helpt om fouten te voorkomen. Het nummert ook de regels, zodat u kunt diagnosticeren wat het probleem is wanneer u een foutcode krijgt. Kan hier worden opgehaald Kladblok ++

Stap 3: Begin met programmeren

Begin met programmeren
Begin met programmeren

Welnu, het eerste dat u wilt doen, is een tekstbestand maken en het opslaan in de gewenste naam met de bestandsextensie.vbsExample: NetworkShutOffScriptThatShutsOffTheInternetSoIcanPlayGamesOnMyXboxAndNotGetLag.vbsExample 2: games.vbsHet enige dat telt, is dat u het een naam geeft met de bestandsextensie.vbsIk doe dit meestal op het bureaublad omdat ik het ongeveer ontelbare keren open terwijl ik eraan werk. Klik nu met de rechtermuisknop op het bestand en druk op bewerken of bewerken met notepad++

Stap 4: Stap 1: Een opdrachtpromptvenster openen

Stap 1: Een opdrachtpromptvenster openen
Stap 1: Een opdrachtpromptvenster openen

Dus besloot ik het meeste werk te doen. Ik zou gewoon programma's gebruiken die al op de computer waren opgeslagen om te doen wat ik wil. Minder codering en geen downloads … Woohoo. Makkelijkste is de opdrachtprompt. dus we willen een opdrachtpromptvenster openen om dit te doen, dus we willen een object bouwen, dus we typen: set shellobj = CreateObject ("WScript. Shell") Wat het doet: Stel een instantie van shellobj in om gelijk te zijn aan het maken van object w script shell. Op deze manier hoeven we alleen shellobj te typen in plaats van CreateObject("WScript. Shell") telkens als we een nieuw commando nodig hebben. Nu we een object hebben gemaakt, geven we het object opdracht om een opdrachtpromptvenster te openen. Hiervoor typen we: shellobj.run "cmd"Wat het doet: Dit zou het equivalent zijn van het typen van CMD in het vak Uitvoeren in het startmenu. Als we de variabele shellobject niet hadden ingesteld, hadden we het volgende moeten typen: CreateObject("WScript. Shell").run "cmd"… kijk hoeveel gemakkelijker het nu is. Minder ruimte voor fouten. Klik op bestand… dan Opslaan… ga dan naar het bureaublad en dubbelklik op het vbs-bestand dat je hebt gemaakt. Het zou moeten worden uitgevoerd. Als alles goed gaat, zou je een Windows-opdrachtprompt moeten krijgen om te verschijnen…..yaaaaaa!!! je codering, tot nu toe zou je moeten hebben: set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"Je kunt opmerkingen aan je script toevoegen, zodat je later onthoudt wat je hebt gedaan door een komma voor de regel te plaatsen, zoals dit:'dit is om een opdrachtprompt te openen. Als ik vaak aan het coderen ben, zal ik dit doen, zodat ik me later herinner wat ik heb gedaan als ik ernaar kijk. Het script negeert die regel gewoon en gaat verder. Als je ze ziet, kun je hetzelfde doen.

Stap 5: Stap 2: Timers instellen

Stap 2: Timers instellen
Stap 2: Timers instellen

Oké, nu we een mooi nieuw venster hebben, moeten we het vullen met opdrachten zodat we het kunnen laten doen wat we willen. Het probleem is dat sommige computers er langer over doen dan andere om vensters te openen, dus we willen dat het script een beetje wacht beetje om te beginnen. als het te snel start, vult de computer de lege ruimte in voordat je het venster open krijgt en krijg je een gedeeltelijke opdracht of helemaal geen. We moeten dus een timer instellen. Om dit te doen typen we:wscript.sleep 200Wat het doet: Het vertelt het script om een X-tijd te wachten voordat het de volgende opdracht uitvoert. 1000 is gelijk aan één seconde, dus de mijne wacht een vijfde van een seconde. Het kan zijn dat uw computer langer of korter moet wachten. Als je naar de computer kijkt en de commando's niet correct typt, verander het nummer dan naar een hoger nummer, zoals 2000 zou 2 seconden zijn en waarschijnlijk genoeg tijd. Sla het bestand nu op, uw code zou nu moeten zijn: set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200

Stap 6: Stap 3: Maak een foto

Stap 3: Maak een foto
Stap 3: Maak een foto

Ik opende zojuist paint en typte "Internet Disconected" erin en maakte het 800x600 en bewaarde het als id.bmp en bewaarde het in mijn hoofdmap, in mijn geval k:\ maar de jouwe zal waarschijnlijk c:\ zijn

Stap 7: Stap 4: Opdrachten verzenden, de afbeelding openen

Stap 4: Opdrachten verzenden, de afbeelding openen
Stap 4: Opdrachten verzenden, de afbeelding openen

Oké, nu we een opdrachtvenster hebben dat wacht op opdrachten, hoeven we alleen maar de opdrachten in het venster te typen met de opdracht sendkeys. Wanneer we de opdracht sendkeys gebruiken, is het net als typen, maar het typt wat we willen dat het typt. Alles wat we kunnen typen, kunnen we verzenden, inclusief de enter-toetsen die nodig zijn om programma's uit te voeren. Nu we weten hoe we toetsen moeten verzenden, kunnen we onze zojuist gemaakte foto openen en vervolgens een ander timer-nawoord plaatsen, zodat de foto de tijd krijgt om te laden. Om dit te doen typen we:shellobj.sendkeys "k:\id.bmp{enter}"wscript.sleep 200Wat het doet: Dit is hetzelfde als het typen van k:\id.bmp in het uitvoervenster. Het zou je foto moeten openen in de standaard fotoviewer voor een bmp… in mijn geval is het Windows Picture en Fax-viewer, maar de meeste mensen installeren aftermarket-programma's die dit ook doen, dus wie weet wat de jouwe zal openen. Sla nu je bestand op en voer het uit. Je zou een opdrachtprompt en een afbeelding moeten krijgen om te verschijnen. so far so good!!!je code tot nu toe zou moeten zijn:set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "k:\id.bmp{enter}"wscript. slaap 200

Stap 8: Stap 5: Opdrachten verzenden, internet uitschakelen

Stap 5: Opdrachten verzenden, internet uitschakelen
Stap 5: Opdrachten verzenden, internet uitschakelen

Op dit punt, als je dit nog niet hebt gedaan, download dan het pdf-bestand aan het einde, dus als je het verprutst, heb je een Instructable gedownload over hoe je het kunt repareren. Dit is waar het plezier begint. Ok, dus we zullen ipconfig gebruiken om ons IP-adres vrij te geven. Zonder IP-adres kunnen we geen internetverkeer krijgen omdat de router niet weet waarheen het naar de computer moet worden gestuurd. Om dit te doen typen we:shellobj.sendkeys "ipconfig /release{enter}"Wat het doet: Dit instrueert het programma IPCONFIG om het IP-adres vrij te geven. de {enter} vertelt de computer dat je op de enter-toets hebt gedrukt. dit zou hetzelfde zijn als het typen van ipconfig /release in het run-venster en op enter drukken. Meestal nadat je dit hebt gedaan, als je ipconfig uitvoert, zal het je vertellen dat je IP-adres 0.0.0.0 is. Dit is wat we willen. Zonder IP-adres weet de router niet dat we hier zijn en kunnen geen programma's als het ware "uitbellen". Nu we het IP-adres succesvol hebben afgesloten, willen we het venster sluiten. Nu zouden we een andere regel kunnen schrijven die zegt: shellobj.sendkeys "exit{enter}"Maar het zou gemakkelijker zijn om de bovenstaande regel te bewerken en aan het einde toe te voegen, zodat u:shellobj.sendkeys "ipconfig /release{enter}exit {enter}"Sla het nu op, maar voer het niet uit, want dan sluit je je internetverbinding af. Als je het toch uitvoert en je internet wordt uitgeschakeld, verander dan gewoon de schakelaar van ipconfig /release naar ipconfig /renew en het start het opnieuw en het zou het weer moeten inschakelen. En als al het andere faalt, start dan opnieuw op en het zou in orde moeten zijn. Uw code tot nu toe zou moeten zijn: set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "k:\id.bmp{ enter}"wscript.sleep 200shellobj.sendkeys "ipconfig /release{enter}exit{enter}"

Stap 9: Stap 6: Berichtenbox maken en wachten op antwoord

Stap 6: Berichtenbox aanmaken en wachten op antwoord
Stap 6: Berichtenbox aanmaken en wachten op antwoord

Ok, nu we het internet met succes hebben afgesloten en het opdrachtpromptvenster hebben gesloten, willen we dat er een berichtvenster verschijnt met de vraag of we internet weer willen inschakelen. Maar hier wordt het lastig, we willen dat het wacht voor een ja, maar als we op nee klikken, willen we niet dat het verdwijnt, dus zullen we een while-statement gebruiken om dit te doen. Eerst moeten we een variabele voor de messgebox dimensioneren, zodat we er nummervariabelen aan kunnen toewijzen. Ik weet dat het verwarrend klinkt, maar dat is het echt niet. we hebben het al een keer gedaan met de regel:set shellobj = CreateObject("WScript. Shell")deze is nog eenvoudiger in te stellen, we typen gewoon:Dim MyVarWat het doet: Nu hebben we een variabele gedimensioneerd met de naam MyVarAls je een" ja krijgt /no" berichtvenster verschijnt op uw scherm en u klikt op de knoppen het wijst een waarde toe aan elke knop, in dit geval "ja" is 1 en "nee" is 2. We willen dat de variabele begint met een "nee" Dus we wijzen het standaard het nummer 2 toe, op deze manier pauzeert het totdat er op een knop wordt geklikt. Hiervoor typen we: myvar=2Wat het doet: nu is MyVar gelijk aan 2, op deze manier stopt het in de volgende regel en wacht op invoer. Nu willen we gewoon dat het daar zit en wacht tot we klaar zijn om het internet weer aan te zetten. Om dit te doen typen we:while myvar=2Wat het doet: Door dit te doen hebben we het script verteld dat zolang de waarde van myvar =2 blijf dan gewoon de berichtenbox herhalen totdat we een andere waarde dan 2 krijgen, wat in dit geval alleen 1 zou kunnen zijn. Vervolgens willen we een berichtvenster laten verschijnen met ja/nee-knoppen. dit typen we:MyVar = MsgBox ("Internetverbinding inschakelen", 65, "Internetverbinding inschakelen") Wat het doet: Nu wordt aan de MyVar-variabele de waarde toegewezen die is toegewezen aan de knop waarop in het berichtvenster is geklikt. het eerste deel van de aanhalingstekens is wat de berichtenbox daadwerkelijk zal zeggen. De 65 duidt het aan als een Ja/Nee-berichtenbox. en het laatste deel tussen aanhalingstekens is het label van de messagebox. om te controleren welke waarde het toewijst wanneer u op ja of nee klikt, kunt u een regel toevoegen met de tekst msgbox (myVar) en het zal de waarde afdrukken die is toegewezen aan myvar in een berichtvenster. Nu we een berichtvenster hebben, moeten we het while-statement sluiten. Alles tussen het openen en sluiten van het while-statement wordt uitgevoerd elke keer dat je op nee klikt, want als je op nee klikt, is het nog steeds een waarde van 2 en keert het terug naar het eerste deel. om het while-statement te beëindigen typ je:wendWhat it doet: Zodra u een einde maakt aan een while-statement, zal het als een lus werken totdat het argument niet langer wordt bereikt. Dus als je nee blijft raken, zal het een lus maken, maar als je eenmaal op ja drukt, zal het loskomen van de lus en verder gaan met het script. Sla het bestand op maar wacht om het uit te voeren tot de volgende stap. Uw code tot nu toe zou moeten zijn:set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "k:\id.bmp{ enter}"wscript.sleep 200shellobj.sendkeys "ipconfig /release{enter}exit{enter}"Dim MyVarmyvar=2while myvar=2MyVar = MsgBox ("Internetverbinding inschakelen", 65, "Internetverbinding inschakelen")wend

Stap 10: Stap 7: Internet weer inschakelen

Stap 7: Internet weer inschakelen
Stap 7: Internet weer inschakelen
Stap 7: Internet weer inschakelen
Stap 7: Internet weer inschakelen
Stap 7: Internet weer inschakelen
Stap 7: Internet weer inschakelen

Nu iemand eindelijk op ja heeft geklikt en het de while-statement heeft doorstaan, moeten we op internet gaan. Ik krijg meestal een bevestiging zodat de eindgebruiker weet wat er aan de hand is, maar het is puur optioneel. Om een bevestigingstype te laten verschijnen: msgbox("We zullen nu de internetverbinding weer inschakelen!!!") Wat het doet: het stuurt een berichtvenster met de tekst We zullen nu de internetverbinding weer inschakelen!!! en geeft je een ok-knop om op te klikken. Nu hoeven we alleen maar internet weer aan te zetten en alles uit te sluiten. om internet weer aan te zetten, openen we gewoon een opdrachtprompt, stellen de timer in en gebruiken dan ipcionfig opnieuw. om dit te doen type:shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "ipconfig /renew{enter}"Wat het doet: het keert het uitschakelcommando van voorheen om en vernieuwt uw IP-adres. Nadat u uw IP-adres heeft vernieuwd, kunt u nu weer internetten. Nu hoeven we alleen nog de openstaande vensters op te ruimen. Nogmaals, we zouden een opdracht sendkeys kunnen gebruiken, maar ik ga gewoon de laatste regel toevoegen om ook de opruimacties vast te houden. In dit geval ga ik het taskkill-programma gebruiken om het programma dat de afbeelding weergeeft te doden. In dit geval is het Windows Picture and Fax Viewer en wordt weergegeven als rundll32.exe op het tabblad Processen van Taakbeheer, dus dat is wat we moeten doden. Als je afbeelding wordt geopend met een ander programma, zoals irfanview of acdsee, zoek dan de naam op in het tabblad Processen en vervang de rundll32.exe met de naam die je vindt. Het commando zou zijn: taskkill /F /IM rundll32.exeWat het is doet: de taskkill is de naam van het programma de /F-schakelaar vertelt het om een kill te forceren en de /IM-schakelaar vertelt het de afbeeldingsnaam. Dus nu voegen we dat toe aan de laatste regel, voegen een enter toe om het commando uit te voeren en dan een exit commando en nog een enter en het ziet er zo uit:shellobj.sendkeys "ipconfig /renew{enter}taskkill /F /IM rundll32.exe{enter}exit{enter}" Sla je bestand op.

Stap 11: Eindproduct

Afgewerkt product
Afgewerkt product

Als alles goed is gegaan, zou uw eindproduct er ongeveer zo uit moeten zien:set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "k:\id.bmp{enter}"wscript.sleep 200shellobj.sendkeys "ipconfig /release{enter}exit{enter}"Dim MyVarmyvar=2while myvar=2MyVar = MsgBox ("Internetverbinding inschakelen", 65, "Internetverbinding inschakelen")wendmsgbox("We zullen nu het internet Verbinding weer aan!!!") shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "ipconfig /renew{enter}taskkill /F /IM rundll32.exe{enter}exit{enter}" _einde van script_Nu het programmeren Als u klaar bent, kunt u het programma uitvoeren. Wat moet er gebeuren: 1.) U zou een heel korte tijd een CMD-venster moeten krijgen en vervolgens sluiten 2.) Uw internet zou niet langer moeten werken. maar je zult dit niet zien 3.) Je foto zou moeten openen.4.) Je zou een pop-up moeten krijgen met de vraag of je het internet weer wilt inschakelen.5.) Het maakt niet uit hoe vaak je op nee klikt, het berichtvenster zou moeten verschijnen u opent opnieuw en vraagt of u het internet weer wilt inschakelen.6.) Zodra u op ja klikt, zou het berichtvenster moeten verdwijnen en zou er een CMD-venster moeten verschijnen7.) Zodra het IP-adres is vernieuwd, worden het CMD-venster en de afbeelding zou moeten sluiten. Daar heb je het. Een heel eenvoudig VBscript om je internet aan en uit te zetten. Hoop dat je het leuk vindt. Ik heb eigenlijk nog een script gemaakt dat bijna identiek is aan dit ene dat de netwerkadapters uitschakelt met behulp van een programma genaamd DevCon, dat lijkt op een opdrachtregelapparaatbeheer. Werkt heel goed om. Script is identiek aan dit, behalve waar het in dit commando commadns heeft voor ipconfig dat men commando's heeft voor DevCon.

Aanbevolen: