Sadržaj:

Napredna serija: 12 koraka
Napredna serija: 12 koraka

Video: Napredna serija: 12 koraka

Video: Napredna serija: 12 koraka
Video: Крутой Сериал! За Первого Встречного 12 серия! 2024, Srpanj
Anonim

ali to je u redu, jednostavno upotrijebite naredbu CD ili CHDIR za promjenu direktorija. Ali u ovom slučaju to zapravo nije važno. "," Top ": 0.08480565371024736," left ": 0.014285714285714285," height ": 0.8586572438162544," width ": 0.9357142857142857}]">

Napredna serija
Napredna serija
Napredna serija
Napredna serija
Napredna serija
Napredna serija

MOLIMO VAS DA DIREKTIRATE SVA PITANJA KOJA MOŽETE IMATI U MOJ BLOG: https://tamsanh.com/blog/2008/07/11/batch-tutorial-3-advanced-batch/ Više ne posjećujem instrukcije, a vi ćete brže odgovorite na taj način. Hej dečki! Ovdje je Tam Nguyen. Prošlo je dosta vremena, ali sada je tu! Predstavljam vam sljedeći dio mojih Batch Tutoriala! Možda ste (a možda i niste) pročitali moje ostale upute: Osnove Batch -a Malo naprednije BatchOva instrukcija posuđuje neke elemente iz prve dvije instrukcije. Naime: ECHO CommandCD CommandDIR naredbaAko niste pročitali druge dvije, predlažem da brzo pregledate te naredbe. Čekat ću ovdje. Ok! Do kraja ovog Instructable -a bit ćete bliski sa: START CommandSET CommandIF CommandGOTO naredba> i >> Parametri Pomoću ovih naredbi moći ćete napraviti dinamičke paketne datoteke koje se mogu mijenjati ovisno o korisničkom unosu, i stvoriti i proširiti. Dakle, otvorimo taj dobar 'ol naredbeni redak i počnite! Pokrenite-> cmd Alternativno, možete otići na: Start-> Program Files-> Accessories-> Command PromptMoja objašnjenja u ovom uputstvu su postala malo duža, pa sam neke naredbe podijelio na više stranica uglavnom u estetske svrhe; Svidjelo mi se vidjeti slike dok čitam tekst, a da se ne moram pomicati gore -dolje. Pravilo za pregled slika; Obično nakon svakog isječka koda postoji slika. Uživajte!

Korak 1: Naredba START

Naredba START
Naredba START
Naredba START
Naredba START
Naredba START
Naredba START
Naredba START
Naredba START

Naredba START je lijepa mala naredba koja pokreće stvari! To je jednostavna naredba i pomoći će nam da se zagrijemo prije nego što dođemo do težih naredbi. Parametri naredbe su upravo ono što mislite da jesu.

POKRENI ThingToBeStarted.exePrilično jednostavno

POKRENI WMPlayer.exeNe samo da možete pokrenuti.exe, možete unijeti i web stranicu koja će se otvoriti u vašem zadanom pregledniku

POČNITE www. Instructables.comPrilično lako, a? U redu. Prijeđimo sada na pravo meso naredbe Instructable: SET.

Korak 2: Naredba SET - Teorija nizova (1/4)

Naredba SET - Teorija nizova (1/4)
Naredba SET - Teorija nizova (1/4)
Naredba SET - Teorija nizova (1/4)
Naredba SET - Teorija nizova (1/4)

Naredba SET: Varijabla Definer. Ah. Varijable. Ambrozija programera. Varijable su dijelovi memorije koji su … greška, promjenjivi. Nema IF -ova I NE -a o tome! (lol, oprosti). U redu! Vrlo jednostavno, parametri naredbe SET su: SET VariableName = Variable ValueSET će sam po sebi stvoriti varijable niza.

SET TestVS = Niz varijabli testa!U ovom slučaju samo smo pohranili vrijednost "Test Variable String!" u varijablu TestVS. Pa to je sve zabava i igre, ali kako dohvatiti vrijednost varijable? Koristimo %. Samo dodajte % oko naziva varijable

ECHO %TestVS %U redu, ali što još može učiniti?

Korak 3: Naredba SET - Mr. Math (2/4)

Naredba SET - Mr. Math (2/4)
Naredba SET - Mr. Math (2/4)
Naredba SET - Mr. Math (2/4)
Naredba SET - Mr. Math (2/4)
Naredba SET - Mr. Math (2/4)
Naredba SET - Mr. Math (2/4)

Može li to matematika? Pa napravimo jednostavnu seriju da to isprobamo.

@ECHO OFFSET Test = 1ECHO%Test%SET Test =%Test%-1ECHO%Test%PAUSEVau, što se dogodilo? To je trebalo upaliti! Čekajte malo … što je to bilo sa naredbama SET koje samo stvaraju nizove? Da. Naredba SET sama će stvoriti samo varijablu niza, što znači da će stvoriti najdoslovnije tumačenje vrijednosti. Ne misli da je "1 - 1" jednako "0", misli "1 - 1" jednako "1 - 1." Dakle, kako to promijeniti? Želimo da se varijabla ne kopira izravno, već evaluira. To znači da ga želimo pretvoriti iz niza u izraz! Vrlo jednostavna promjena, jednostavno dodajte a /a naredbi SET. Evo jednostavne batch datoteke da biste je vidjeli na djelu ili je jednostavno upišite u priručnik za naredbeni redak. Predlažem ovo drugo; mnogo je brži i kôd nije previše kompliciran, ali ako zaista želite batch datoteku, evo je

@ECHO OFFSET /a Test = 2+2ECHO %Test %PAUSEFantastičan! To je savršeno izrazilo. Sada znamo koje promjene trebamo napraviti u našem 'matematičkom testu.bat

@ECHO OFFSET /a Test = 1ECHO%Test%SET /a Test =%Test%-1ECHO%Test%PAUSEU redu. Pa idemo! Sjajno! Radilo je savršeno! Ali što dalje?

Korak 4: Naredba SET - Unos korisnika (3/4)

Naredba SET - Unos korisnika (3/4)
Naredba SET - Unos korisnika (3/4)
Naredba SET - Unos korisnika (3/4)
Naredba SET - Unos korisnika (3/4)
Naredba SET - korisnički unos (3/4)
Naredba SET - korisnički unos (3/4)

SET također ima mogućnost zatražiti od korisnika unos. Dodavanjem /p parametrima SET, pretvara ga iz normalnog postavljača varijabli u postavljača varijabli koje kontrolira korisnik.

SET /p UDefine =S /p, program zapravo pauzira i čeka korisnički unos. Ali pričekajte, ne vidim parametar /, znači li to da je varijabla samo niz? Pa, nekako. /P parametara u potpunosti negira /a, a ako to pokušate, jednostavno dobijete pogrešku operanda koja nedostaje. To znači da korisnički definirana varijabla neće moći ocijeniti izraze. Dakle, što se može učiniti? Pa, evo trika koji sam smislio i koji možemo upotrijebiti. Naredba SET ne podržava sve istovremenu uporabu parametara /p i /a, zar ne? Pa, što je sa uzastopnom upotrebom parametara /a i /p? Ahhh … lukave čizme

@ECHO OFFECHO Verzija kalkulatora 1.0ECHO. SET /p UDefine = SET /a UDefine =%UDefine%ECHO = ECHO%UDefine%ECHO. PAUSEDobar kalkulator. Ako do sada niste shvatili, {{{ECHO.}}} Je prazan redak. Nije li to super-cool?

Korak 5: Naredba SET - Više od očiju (4/4)

Naredba SET - Više od očiju (4/4)
Naredba SET - Više od očiju (4/4)
Naredba SET - Više od očiju (4/4)
Naredba SET - Više od očiju (4/4)
Naredba SET - Više od očiju (4/4)
Naredba SET - Više od očiju (4/4)

U ovom trenutku može se činiti da su varijable naredbe SET dobre samo za nizove i izraze. Nije istina. Varijable su, zapravo, vrlo fleksibilne i nisu ograničene samo na ECHO -e. Jeste li pokušali samo unijeti varijablu sami?

SET Test = Instrukcije%Test%Kakva čudna pogreška … kaže se da naredba "Instructables" nije prepoznata, a ne da % Test % nije imao sintaksu. To znači da DOS tretira svaku varijablu kao da je ručno upisana. Pa, što ako

SET Test = START cmd.exe%Test%Super! Uspjelo je! DOS tretira svaku varijablu kao da ju je upisao korisnik i prema tome je pokreće. Evo zanimljivog koda: (Samo kopiraj/zalijepi; pomalo je dosadan.

@ECHO Varijabla OffSET1 = ECSET varijabla2 = HSET varijabla3 = O CSET varijabla4 = ooSET varijabla5 = l! ECHO%varijabla1 %% varijabla2 %% varijabla3 %% varijabla4 %% varijabla5%ECHO.%Varijabla1 %% varijabla2 %% varijabla2 %% %Promjenjiva5%PauzaNije li to uredno? Svaka varijabla sadrži dva slova cijele poruke (osim Varijable2), a stavljajući varijable u red, svako slovo se zbraja i završava cijelu naredbu programa ECHO Cool! Naredba SET jedna je od složenijih i moćnijih naredbi DOS rječnik.

Korak 6: IF naredba - svi su jednaki (1/2)

IF naredba - svi su jednaki (1/2)
IF naredba - svi su jednaki (1/2)
IF naredba - svi su jednaki (1/2)
IF naredba - svi su jednaki (1/2)
IF naredba - svi su jednaki (1/2)
IF naredba - svi su jednaki (1/2)

Taj klasični uvjetni operand. Osnovna, ali moćna, svejedno. Za one koji nikada prije nisu programirali, naredba IF točno zvuči. Ako se izraz u sintaksi dokaže kao istinit (ili NIJE istinit), izvršit će se sljedeći niz naredbi. Osnovni naredbeni redak izgleda ovako:

IF%varijabla1%==%varijabla2%ECHO Ovaj dio se izvršavaili ako imate više od jedne sintakse

@ECHO OFFIF%varijabla1%==%varijabla2%(ECHO Ovaj dio se izvršava. ECHO I ovo je to.) OSTALO (ECHO Ako varijabla1 ne radi & apost = varijabla 2, to se događa. ECHO i to se također događa.)Napomena: Osobito postavljanje zagrada nije zato što ne vjerujem u organizirani kôd, već zato što ako nisu na tim mjestima, cijeli IF isječak neće raditi. Dakle, ako postoji neka pogreška u vašem IF kodu, to je najvjerojatnije zbog zagrada. Za pokretanje ove posebne serije, zapravo sam koristio sam naredbeni redak, tako da sam mogao postaviti varijable bez potrebe za uređivanjem višestrukog IfVariableTest.bat puta.

Korak 7: IF naredba - ali ja sam veći od vas (2/2)

IF naredba - ali ja sam veći od tebe (2/2)
IF naredba - ali ja sam veći od tebe (2/2)
IF naredba - ali ja sam veći od vas (2/2)
IF naredba - ali ja sam veći od vas (2/2)
IF naredba - ali ja sam veći od vas (2/2)
IF naredba - ali ja sam veći od vas (2/2)

U redu, dakle, imate lijepu IF izjavu i sve, a provjera jesu li varijable jednake ili ne, lijepo je i sve, ali ne odgovara baš računa. Želim da se nešto dogodi ako je varijabla1 manja od druge varijable! Za nas programere, znam da se ovo čini kao jednostavan zadatak. Učinite samo ono što rade svi ostali programski jezici! Držite svoje konje kaubojske. Ne tako brzo. Batch datoteka nije samo vaš uobičajeni jezik za programiranje. Koliko god se glupo moglo činiti, "" ne rade s paketnim datotekama.

EQU - jednako - == NEQ - nije jednakoSamo postavite ove operande umjesto primjera ==

AKO 32 GTR 3 ECHO Ovo će uspjeti

@ECHO OFFIF 32 GEQ 32 (ECHO 32 je veći od ili jednak 32) OSTALO (ECHO 32 je definitivno jednako 32) PAUSEIF 32 LSS 32 (ECHO 32 je manje od 32? Mislim da nije.) OSTALO (ECHO 32 je Ne manje od 32. Kraj priče.) PAUZA

Korak 8: GOTO naredba

GOTO naredba
GOTO naredba
GOTO naredba
GOTO naredba
GOTO naredba
GOTO naredba

Naredba GOTO. Radi točno ono što kaže; ona IDE NA oznaku u skripti batch datoteke. Da biste koristili ovu naredbu, najprije morate postaviti oznaku. Oznake izgledaju ovako:

: Oznaka1To je jednostavno dvotočka ispred niza slova i/ili brojki bez razmaka. Naredba GOTO strukturirana je ovako

IDI Oznaka1To je tako jednostavno! Kad bolje razmislim, nisam siguran zašto ovo nisam stavio u blago naprednu skupinu. U svakom slučaju, ova se naredba može koristiti za ponavljanje paketne datoteke jednostavnim GOTO naljepnicom koja ponovno izvršava naredbu GOTO

@ECHO OFF: RepeatMeECHO Ovo će se ponavljati osim ako ne pritisnete "CTRL-C" IDITE NA RepeatMeUsput, paketna datoteka govori istinu. CTRL-C univerzalna je stanka i zahtjev za prekid. CTRL-S je jednostavno Pauza. No, zatvaranje prozora funkcionira jednako dobro. GOTO može preskočiti ili promijeniti redoslijed vašeg koda

GOTO TurnEOffGOTO MultiGotoECHO Ovaj ECHO će se preskočiti.:MultipleGotoGOTO 3: ENDPAUSEEXIT: 1ECHO EndGOTO END: 3ECHO Ovo će se prvo prikazatiGOTO 2: TurnEOff@ECHO OFFGOTO VišeGoto: posljednji je to 1Gornji kôd je namjerno zbunjujuće strukturiran kako bi se naglasila sposobnost GOTO -a da skače po kodu.

Korak 9:> Parametar (1/2)

Primjer implementacije
Primjer implementacije

Parametar (1/2) "src =" https://content.instructables.com/ORIG/FBH/P5XV/F3JESWI8/FBHP5XVF3JESWI8-j.webp

Primjer implementacije
Primjer implementacije

Parametar (1/2) "src =" https://content.instructables.com/ORIG/FIX/9BXW/F3JESWI5/FIX9BXWF3JESWI5-j.webp

Primjer implementacije
Primjer implementacije

Parametar (1/2) "src =" https://content.instructables.com/ORIG/FHZ/92ZS/F3JESWI7/FHZ92ZSF3JESWI7-j.webp

Zaključak: Završne bilješke
Zaključak: Završne bilješke

Parametar (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> Ovaj sljedeći bit zapravo nije 'naredba', već je dodana sintaksa u druge naredbe. Ono što radi je da uzima izlaz određene naredbe i može je zapisati u tekstualnu datoteku. Lakše je objasniti ako je prvo vidite na djelu. Njena sintaksa je:

Naredba> Naziv datotekeU redu, recimo da smo u određenom direktoriju. Zatim koristimo naredbu DIR za koju biste, ako pročitate Osnove paketa, znali da prikazuje sadržaj vašeg trenutnog direktorija

C: / Korisnici / Neo \> DIRNormalno bi izlazio

Glasnoća u pogonu C je HP-ov serijski broj volumena je BC7E-E26C Imenik C: / Users / Neo2007-30-06 11:14.2007-30-06 11:14 AM..2007-17-03 18:41.idlerc2007-19-02 03:14 PM Kontakti2007-19-06 22:44 Desktop2007-29-06 08:47 Dokumenti2007-19-06 10:35 AM Preuzimanja2007-19-02 03:14 PM Favoriti02/19/ 2007 15:14 Veze2007-12-05 04:01 PM Glazba2007-30-06 01:20 AM Slike04.07.2007. 15:08 Spremljene igre2007-19-02 03:14 PM Pretrage2007-01-03 07:23 PM 242, 947 Test Record.wma2007-19-06 10:39 AM Videos2007-18-06 09:57 AM 1, 324, 574 wp_screenprint_mc.pdf2007-18-06 09:59 73, 996, 533 wp_tshirt_full.mp4 4 Datoteke (i) 75, 564, 054 bajta 14 Dir (i) 132, 927, 537, 152 bajta besplatnoNo, dodamo li> i tome

C: / Users / Neo / DIR> DIRContents.txtNe dobivamo izlaz, već umjesto toga dobivamo novu tekstualnu datoteku s imenom Brand-spankin'-DIRContents.txt koja u sebi sadrži Output! Kul, ali čekaj, postoji problem! Želim imati više izlaza u istoj datoteci, ali moj> to nastavlja prepisivati, a ne dodavati! Što da radim?

Korak 10: >> Parametar (2/2)

Parametar (2/2) "src =" https://content.instructables.com/ORIG/FG4/B58B/F3JESWIJ/FG4B58BF3JESWIJ-j.webp

Parametar (2/2) "src =" https://content.instructables.com/ORIG/F05/GZB1/F3JESWIK/F05GZB1F3JESWIK-j.webp

Parametar (2/2) "src =" https://content.instructables.com/ORIG/F93/Q7VS/F3JESWL2/F93Q7VSF3JESWL2-j.webp

Parametar (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Parametar (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> Pa drago mi je da ste pitali. Tome služi >> Parametar! >> je isto kao>, ali umjesto da u potpunosti prepišemo navedenu datoteku, dodajemo je! Pa pokušajmo.

DIR >> DIRContents.txtUredan! Radilo savršeno! Zato čekajte. Znači li to da mogu unijeti sve što želim u tekstualnu datoteku? Želim isprobati

Skupina je super> Awesome.txtŠto? Zašto to nije uspjelo? To je zato što parametar zapisuje samo izlaz legitimnih naredbi, a ne samo sve što unesete. No, to je problem koji se jednostavno rješava. Upamtite, parametri bilježe izlaz naredbi. Koja naredba ima izlaz kojim možemo upravljati? Zapovjedništvo ECHO -a

ECHO serija je super> Awesome.txtECHO I tako mi je drago da to znam. >> Awesome.txtDa! Zapamtiti. >> dodaje izlaz u sljedeći redak datoteke.

Korak 11: Primjer implementacije

U redu. Pa spojimo sve to zajedno! Evo nekoliko primjera kodova koje sam napravio, a koji koriste naredbe koje sam vam pokazao u ovom uputstvu. Ovaj kôd će neprestano dodavati 1 varijabli, a rezultat će izlaziti u nedogled.

@ECHO OFFSET /a num = 1: Ponovite ECHO%num%SET /a num =%num%+1GOTO PonoviteOvaj kôd će pokrenuti CMD.exe 5 puta

@ECHO OFFSET /a RepeatNum = 5: OpenIF%RepeatNum%== 0 GOTO EndSTART CMD.exeSET /a RepeatNum =%RepeatNum%-1GOTO Open: EndOvaj će kôd stvoriti batch datoteku u C: / Users / Neo i pokrenuti je

@ECHO OFFCHDIR C: / Users / NeoECHO @ECHO OFF> Hello.batECHO ECHO Zdravo! >> Hello.batECHO ECHO I & aposm na vašem C pogonu! >> Hello.batECHO PAUSE >> Hello.batC: / Users / Neo / Hello. batPauseOvo je mala serija igara. Morate pogoditi broj

@ECHO OFFSET /a GuessNum = 0SET /a Odgovor =%RANDOM%ECHO Pogodite na koji broj mislim & aposm.:RetrySET /p Pogodi = IF%Guess%LSS%Answer%ECHO Moj broj je veći. IF%Guess%GTR%Answer %ECHO Moj broj je manji. IF%Pogodi%==%Odgovori%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Pokušaj ponovo: ENDECHO U pravu ste! Odgovor je bio %odgovora %ECHO Trebalo je %GuessNum %Guesses. ECHO. PAUSEA ovaj mi se jako sviđa. Međutim, ako niste oprezni, to može izmaći kontroli prilično brzo, ovisno o sposobnostima vašeg računala. Ono što ova datoteka radi je to što na neodređeno vrijeme stvara numerirane tekstualne datoteke u direktoriju koji se naziva lolnumbers. Svaka od ovih tekstualnih datoteka sadrži DIR direktorija lolnumbers. Stvar je u tome što je imenik stalno sve puniji s tekstualnim datotekama, pa je svaka uzastopna tekstualna datoteka veća od prethodne. Rezultat toga je mapa čija se ukupna veličina svake sekunde povećava i povećava

@ECHO OFFSET /a num = 1MKDIR lolnumbersCD lolnumbers: RestartDIR>%num%.txtSET /a num+= 1GOTO RestartOvo su prilično osnovni kodovi. Eksperimentirajte s njima do mile volje.

Korak 12: Zaključak: Završne bilješke

Fuj. U ovom smo uputstvu obradili mnogo toga. Ovaj je, zapravo, 3 puta duži od mog posljednjeg. Nadam se da će vam se svidjeti! Samo nekoliko podsjetnika prije nego što odem. Zapamtite: Prilikom POSTAVLJANJA varijable, nikada nemojte stavljati razmak između varijable i njezine vrijednosti. DA:

SET varijabla1 = VrijednostDodatni prostor uzrokovat će da vaša varijabla bude prazna. NO

SET varijabla1 = VrijednostTakođer, više IF -ova. Ne zaboravite pravilno formatirati zagrade: DA

AKO 1 == 1 (ECHO Jedan je jednak!) OSTALO (ECHO Nešto & aposs nije u redu s ovim programom.)NE

AKO 1 == 1 (ECHO Jedan je jednak!) OSTALO (ECHO Nešto & aposs nije u redu s ovim programom.)Također, postoje i ugrađene varijable

%CD %% DATE %% TIME %% RANDOM%% CD% Proširuje se na trenutni direktorij. U osnovi, put iza prvih>% DATE% i% TIME% su Datum i Vrijeme.% RANDOM% daje slučajni broj između 0 i 32767. Mislim da se raspon ne može promijeniti. I to je u osnovi to! Nadam se da ste uživali u ovom uputstvu, jako sam se potrudio oko toga. Nadam se da će to nadoknaditi 10 -mjesečnu odsutnost. Sada loše vijesti. Imat ću malo problema s odgovaranjem na bilo koja pitanja u sljedećih nekoliko mjeseci, jer ću biti izvan zemlje. Ali ako imate pitanje, ostavite komentar bilo kome. Ako ipak dobijem pristup računalu, svakako ću se javiti, ali mislim da to neće biti potrebno; Instructables je prijateljska zajednica i siguran sam da će vam netko tamo pomoći u vašoj nevolji. Sretno slaganje!

Preporučeni: