Innholdsfortegnelse:

Introduksjon til VB Script: a Beginners Guide: 11 Steps
Introduksjon til VB Script: a Beginners Guide: 11 Steps

Video: Introduksjon til VB Script: a Beginners Guide: 11 Steps

Video: Introduksjon til VB Script: a Beginners Guide: 11 Steps
Video: Google Colab - An Intro to Bash Scripting! 2024, Juli
Anonim
Introduksjon til VB Script: a Beginners Guide
Introduksjon til VB Script: a Beginners Guide

*** ((((VARSEL: Selv om det er mange trinn. Dette er faktisk ganske enkelt. Jeg forklarer alt i detalj for nybegynnere. Hvis du bare vil at koden hopper til det siste trinnet, finner du hele kode der.))))) *** Jeg spiller mye Xbox live og må alltid deaktivere internett på datamaskinen min fordi det øker båndbredden. Hovedsakelig fordi jeg laster ned eller laster opp ting hele tiden. Problemet er ikke å slå det av, men det er å slå det på igjen som jeg glemmer, og gjør det der jeg mister all den opplastings-/nedlastingstiden. Så jeg bestemte meg for å lage et program for å gjøre det for meg. Jeg skulle skrive det på Vb.net, men jeg måtte nylig nukle og bane operativsystemet mitt på datamaskinen min på grunn av en storm som stekte harddisken min, og har ikke installert VB.net på nytt ennå, så jeg tenkte at dette ville gi meg en grunn til å leke med vbscript. Jeg lagde også et bilde i maling for å vise det i bakgrunnen, så jeg visste at det kjørte.

Trinn 1: Finn ut hva du vil gjøre

Finn ut hva du vil gjøre
Finn ut hva du vil gjøre

Det første jeg alltid gjør er å lage en plan. Hva vil jeg at programmet skal gjøre? A) Jeg vil kunne åpne skriptet, og det vil automatisk slå av tilkoblingen. B) Jeg vil at den skal vise en gigantisk skjerm i bakgrunnen, så det er ingen feil at internett er slått av. På denne måten glemmer jeg ikke å slå den på igjen. C) Jeg vil at den skal gi meg et valg om å slå den på slå på igjen, og vent deretter på svar. D) Jeg vil at den skal være sikker på at jeg slår den på igjen, så jeg ikke glemmer den. e) Så når jeg faktisk sier ja for å slå den på igjen, slår skriptet den på igjen og deretter lukker du bakgrunnen. F) Avslutt alt.

Trinn 2: Ting jeg bruker, men egentlig ikke er nødvendig

Ting jeg bruker, men egentlig ikke er nødvendig
Ting jeg bruker, men egentlig ikke er nødvendig

Alt du egentlig trenger er en tekstredigerer som notisblokk. Alt annet er valgfritt. Jeg bruker Notisblokk ++ når jeg gjør VB -skript, så fordi det behandler det som vb.net gjør med farger og kan språket. Det hjelper å unngå feil. Det nummererer også linjene slik at du kan diagnostisere hva som er problemet når du får en feilkode. Kan hentes herfra notisblokk ++

Trinn 3: Start programmeringen

Start programmeringen
Start programmeringen

Det første du vil gjøre er å lage en tekstfil og lagre den til det du vil at den skal hete med filtypen.vbsExample: NetworkShutOffScriptThatShutsOffTheInternetSoIcanPlayGamesOnMyXboxAndNotGetLag.vbsEksempel 2: games.vbsAll som betyr noe er at du navngir den med filtypen Jeg gjør vanligvis dette på skrivebordet fordi jeg åpner det omtrent en milliard ganger mens jeg jobber med det. Nå høyreklikker du på filen og trykker på rediger eller rediger med notisblokk ++

Trinn 4: Trinn 1: Åpne et kommandopromptvindu

Trinn 1: Åpne et kommandopromptvindu
Trinn 1: Åpne et kommandopromptvindu

Så jeg bestemte meg for å gjøre det meste av arbeidet. Jeg ville bare bruke programmer som allerede er lagret på datamaskinen for å gjøre det jeg vil. Mindre koding og ingen nedlastinger … Woohoo. Easiest er kommandoprompt. Så vi vil åpne et kommandopromptvindu for å gjøre det, så vi vil bygge et objekt for å gjøre det vi skriver: set shellobj = CreateObject ("WScript. Shell") Hva det gjør: Sett en forekomst av shellobj til å være lik for å lage objekt w script -skall. På denne måten er alt vi trenger å gjøre å skrive shellobj i stedet for CreateObject ("WScript. Shell") hver gang vi trenger ny kommando. Nå som vi har opprettet et objekt, instruerer vi objektet om å åpne et ledetekstvindu. For å gjøre det skriver vi: shellobj.run "cmd" Hva det gjør: Dette ville være ekvivalent med å skrive CMD i kjøreboksen på startmenyen. Hadde vi ikke angitt variabelen shellobject hadde vi måttet ha skrevet: CreateObject ("WScript. Shell"). Kjør "cmd" … se hvor mye lettere det er nå. Mindre rom for feil. Klikk på filen … deretter Lagre … deretter går du til skrivebordet og dobbeltklikker på vbsfilen du laget den skulle kjøre Hvis alt går som det skal, bør du få en Windows -ledetekst for å dukke opp …..yaaaaaa !!! hvis ikke sjekk kodingen din, så langt bør du ha: sett shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" Du kan legge til kommentarer i skriptet ditt slik at du husker hva du gjorde senere ved å sette et komma foran linjen som dette: 'dette er for å åpne en ledetekst Når jeg koder mange ganger, skal jeg gjøre dette, så jeg husker hva jeg gjorde senere da jeg så på det. Skriptet ignorerer bare den linjen og går videre. Hvis du ser dem kan du gjøre det samme.

Trinn 5: Trinn 2: Konfigurere tidtakere

Trinn 2: Konfigurere tidtakere
Trinn 2: Konfigurere tidtakere

Ok nå som vi har et nytt nytt vindu, må vi fylle det ut med kommandoer, slik at vi kan få det til å gjøre det vi vil. Problemet er at noen datamaskiner tar lengre tid enn andre for å åpne vinduer, så vi vil la skriptet vente litt litt å starte. Hvis det starter for tidlig, vil datamaskinen fylle ut feltet før du åpner vinduet, og du vil enten få en delvis kommando eller ingen i det hele tatt. Så vi må sette opp en timer. For å gjøre dette skriver vi: wscript.sleep 200 Hva det gjør: Det forteller skriptet å vente X tid før den neste kommandoen utføres. 1000 tilsvarer ett sekund, så min venter en femtedel av et sekund. Det kan hende du finner ut at datamaskinen din må vente mer eller mindre. Hvis du ser på datamaskinen og den ikke skriver kommandoene riktig, kan du endre tallet til et høyere tall som 2000 ville være 2 sekunder og sannsynligvis god tid. Lagre filen nå, koden din på dette tidspunktet bør være: sett shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200

Trinn 6: Trinn 3: Lag et bilde

Trinn 3: Lag et bilde
Trinn 3: Lag et bilde

Jeg åpnet bare maling og skrev "Internet Disconected" inn i den og lagde den 800x600 og lagret den som id.bmp og lagret den i rotkatalogen min, i mitt tilfelle k: / men din vil sannsynligvis være c:

Trinn 7: Trinn 4: Sende kommandoer, åpne bildet

Trinn 4: Sende kommandoer, åpne bildet
Trinn 4: Sende kommandoer, åpne bildet

Ok nå som vi har et kommandovindu som venter på kommandoer, alt vi trenger å gjøre er å skrive inn kommandoene i vinduet ved hjelp av kommandoen sendkeys. Når vi bruker sendkeys -kommandoen, er det som å skrive, men den skriver hva vi vil at den skal skrive. Alt vi kan skrive kan vi sende inkludert enter -tastene som trengs for å kjøre programmer. Nå at vi vet hvordan vi sender nøkler lar oss åpne bildet vi nettopp har laget, og deretter legge inn et nytt timer etterord slik at det gir bildet tid til å laste. For å gjøre dette skriver vi: shellobj.sendkeys "k: / id.bmp {enter}" wscript.sleep 200 Hva det gjør: Dette er det samme som å skrive k: / id.bmp i kjøreboksen. Det bør åpne bildet ditt i standard bildeviser for en bmp … i mitt tilfelle er det Windows bilde og faks visning, men de fleste installerer etter markeds programmer som også gjør dette, så hvem vet hva din vil åpne i. Nå lagre filen og kjør den. Du bør få en ledetekst og et bilde som dukker opp. så langt så bra !!! koden din så langt burde være: sett shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "k: / id.bmp {enter}" wscript. sove 200

Trinn 8: Trinn 5: Sende kommandoer, Slå av Internett

Trinn 5: Sende kommandoer, slå av Internett
Trinn 5: Sende kommandoer, slå av Internett

På dette tidspunktet, hvis du ikke har gjort det ennå, kan du laste ned pdf -filen på slutten, så hvis du ødelegger, har du lastet ned en instruks om hvordan du kan fikse det. Nå begynner moroa. Ok, så vi vil bruke ipconfig til å frigjøre vår IP -adresse. Uten en IP -adresse kan vi ikke få internettrafikk fordi ruteren ikke vet hvor den skal sendes til datamaskinen. For å gjøre dette skriver vi: shellobj.sendkeys "ipconfig /release {enter}" Hva det gjør: Dette instruerer programmet IPCONFIG om å slippe IP -adressen. {enter} forteller datamaskinen at du trykker på enter -tasten. Dette ville være som å skrive ipconfig /release i kjøringsvinduet og trykke enter. Vanligvis etter at du har gjort dette, hvis du kjører ipconfig, vil den fortelle deg at IP -adressen din er 0.0.0.0 Dette er det vi ønsker. Uten en IP -adresse vet ikke ruteren at vi er her, og ingen programmer kan "ringe ut" så å si. Nå som vi har avsluttet IP -adressen, vil vi lukke vinduet. Nå kan vi skrive en annen linje som sier: shellobj.sendkeys "exit {enter}" Men det ville være enklere å bare redigere linjen ovenfor og legge den til slutten slik at du har: shellobj.sendkeys "ipconfig /release {enter} exit {enter} "Lagre den nå, men ikke kjør den fordi du vil slå av internettforbindelsen. Hvis du kjører det, og internett slår seg av, bare bytt bryteren fra ipconfig /release til ipconfig /forny, og den kjører den igjen, og den skal slå den på igjen. Og hvis alt annet mislykkes, starter du på nytt og du skal ha det bra. Koden din så langt bør være: sett shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "k: / id.bmp { enter} "wscript.sleep 200shellobj.sendkeys" ipconfig /release {enter} exit {enter}"

Trinn 9: Trinn 6: Opprette meldingsboks og vente på svar

Trinn 6: Opprette meldingsboks og venter på svar
Trinn 6: Opprette meldingsboks og venter på svar

Ok, nå som vi har slått av internett og lukket ledetekstvinduet, vil vi at det skal dukke opp en meldingsboks som spør om vi vil slå på internett igjen. Men her er det vanskelig, vi vil at det skal vente for et ja, men hvis vi klikker nei, vil vi ikke at det skal forsvinne, så vi vil bruke en while -setning for å gjøre dette. Først må vi dimensjonere en variabel for meldingsboksen, slik at vi kan tildele den tallvariabler. Jeg vet at det høres forvirrende ut, men det er det virkelig ikke. vi gjorde det allerede en gang med linjen: set shellobj = CreateObject ("WScript. Shell") denne er til og med lettere å sette opp, vi skriver bare: Dim MyVarWhat it does: Now we have dimensioned a variable named MyVarWhen you get a "yes /nei "meldingsboks dukker opp på skjermen og du klikker på knappene, den tildeler en verdi til hver knapp, i dette tilfellet er" ja "1 og" nei "er 2. Vi vil at variabelen skal starte med et" nei "Så vi tildeler det nummer 2 som standard, på denne måten stopper det til det klikkes på en knapp For å gjøre dette skriver vi: myvar = 2 Hva det gjør: nå er MyVar lik 2, på denne måten stopper det og venter på input. Nå vil vi bare at den skal sitte der og vente til vi er klare til å slå på internett igjen. For å gjøre dette skriver vi: mens myvar = 2 Hva den gjør: Ved å gjøre dette har vi fortalt skriptet at så lenge verdien av myvar = 2 så bare fortsett å sløyfe meldingsboksen til vi får en annen verdi enn 2, som i dette tilfellet bare kan være 1Neste vil vi faktisk få en meldingsboks til å dukke opp med ja/nei -knapper. dette skriver vi: MyVar = MsgBox ("Slå på internettforbindelse", 65, "Slå på Internett -tilkobling") Hva det gjør: Nå vil MyVar -variabelen tilordnes hvilken verdi som er tilordnet knappen som klikkes på meldingsboksen. den første delen i sitatene er hva meldingsboksen faktisk vil si. 65 betegner det som en Ja/Nei meldingsboks. og den siste delen i anførselstegn er etiketten i meldingsboksen. å sjekke for å se hvilken verdi den tildeler når du klikker ja eller nei, du kan legge til i en linje som sier msgbox (myVar), og den vil skrive ut hvilken verdi som er tildelt myvar i en meldingsboks. nå at vi har en meldingsboks, må vi lukke while -setningen. Alt som er mellom åpningen og lukkingen av while -setningen vil kjøre hver gang du klikker nei, for hvis du klikker nei er den fortsatt verdien 2 og går tilbake til den første delen. For å avslutte while -setningstypen: wendWhat it gjør: Når du setter en stopper for en while -setning, vil den fungere som en sløyfe til argumentet ikke lenger er oppfylt. Så hvis du fortsetter å treffe nei, vil den sløyfe, men når du trykker ja, vil den bryte løs fra løkken og fortsette med skriptet. Lagre filen, men vent med å kjøre den til neste trinn. Koden din så langt bør være: sett 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 = 2 while myvar = 2MyVar = MsgBox (" Slå på internettforbindelse ", 65," Slå på Internett -tilkobling ") wend

Trinn 10: Trinn 7: Slå Internett på igjen

Trinn 7: Slå Internett på igjen
Trinn 7: Slå Internett på igjen
Trinn 7: Slå Internett på igjen
Trinn 7: Slå Internett på igjen
Trinn 7: Slå Internett på igjen
Trinn 7: Slå Internett på igjen

Nå som noen endelig klikket ja og det har passert while -utsagnet, må vi urn på internett. Jeg sender vanligvis en bekreftelse slik at sluttbrukeren vet hva som skjer, men det er rent valgfritt. For å dukke opp en bekreftelsestype: msgbox ("Vi vil nå slå på Internett -tilkoblingen igjen !!!") Hva den gjør: den sender en meldingsboks som sier at vi vil slå på Internett -tilkoblingen igjen !!! og gir deg en ok -knapp for å klikke. Nå er alt vi trenger å gjøre å slå på internett igjen og lukke alt. for å slå på internett igjen, åpner vi bare en ledetekst, sett timeren og bruk ipcionfig igjen. for å gjøre dette type: shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "ipconfig /fornye {enter}" Hva den gjør: den reverserer slå av -kommandoen fra før og fornyer IP -adressen din. Når du har fornyet IP -adressen din, kan du nå få internettforbindelser igjen. Nå er det bare å rydde opp i de åpne vinduene. Igjen kan vi bruke en sendkeys -kommando, men jeg skal bare legge til den siste linjen for å holde oppryddingene også. I dette tilfellet skal jeg bruke taskkill -programmet til å drepe programmet som viser bildet. I dette tilfellet er det windows picture and fax viewer og vises som rundll32.exe i prosessfanen i oppgavebehandling, så det er det vi trenger å drepe. Hvis bildet ditt åpnes ved hjelp av et annet program, for eksempel irfanview eller acdsee, finner du navnet det går under i prosessfanen og bytter rundll32.exe med navnet du finner. Kommandoen vil være: taskkill /F /IM rundll32.exe Hva det er gjør: taskkill er navnet på programmet /F -bryteren forteller det å tvinge et drap og /IM -bryteren forteller det bildetavnet Så nå legger vi det til på den siste linjen, legger til en enter for å utføre kommandoen og deretter en exit -kommandoen og en annen enter, og det ser slik ut: shellobj.sendkeys "ipconfig /renew {enter} taskkill /F /IM rundll32.exe {enter} exit {enter}" Lagre filen.

Trinn 11: Ferdig produkt

Ferdig produkt
Ferdig produkt

Hvis alt gikk riktig skulle det ferdige produktet ditt se slik ut: sett 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 = 2 while myvar = 2MyVar = MsgBox ("Slå på internettforbindelse", 65, "Slå på Internett -tilkobling") wendmsgbox ("Vi slår nå Internett Tilkobling igjen !!! ") shellobj.run" cmd "wscript.sleep 200shellobj.sendkeys" ipconfig /fornye {enter} taskkill /F /IM rundll32.exe {enter} exit {enter} "_end av script_Now at programmeringen er kan du kjøre programmet. Hva skal skje: 1.) Du bør få CMD -vinduet til å dukke opp i veldig kort tid og deretter lukke2.) Internettet ditt skal ikke lenger fungere. men du vil ikke se dette.) Bildet ditt skal åpnes. du åpner igjen og spør om du vil slå på internett igjen. bør lukke. Der har du det. Et veldig enkelt VBscript å slå internett på og av. Håper du liker det. Jeg laget faktisk et annet skript som er nesten identisk med dette som slår av nettverkskortene ved hjelp av et program som heter DevCon, som er som en kommandolinje enhetsbehandling. Fungerer veldig bra til. Skriptet er identisk med dette bortsett fra hvor det i denne har kommandoer for ipconfig at man har kommandoer for DevCon.

Anbefalt: