Sadržaj:

Napredna serija: 12 koraka
Napredna serija: 12 koraka

Video: Napredna serija: 12 koraka

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

ali to je u redu, jednostavno upotrijebite naredbu CD ili CHDIR za promjenu direktorija. Ali u ovom slučaju to 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

MOLIM VAS DIREKTIRAJTE SVA PITANJA KOJA MOŽETE IMATI U MOJ BLOG: https://tamsanh.com/blog/2008/07/11/batch-tutorial-3-advanced-batch/ Ne posjećujem više instrukcije, a vi ćete brže odgovorite na taj način. Hej momci! Tam Nguyen ovdje. 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 druge upute: Osnove Batch -a Malo naprednije serije Ova instrukcija posuđuje neke elemente iz prve dvije instrukcije. Naime: ECHO CommandCD CommandDIR komandaAko niste pročitali druge dvije, predlažem da brzo pregledate te naredbe. Čekat ću ovdje. Ok! Do kraja ovog uputstva 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 prema unosu korisnika, i stvorite i proširite. Pa otvorimo onu dobru komandnu liniju i počnite! Pokrenite-> cmd Alternativno, možete otići na: Start-> Programske datoteke-> Pribor-> Naredbeni redak Moja objašnjenja u ovom uputstvu su postala malo duža, pa sam neke komande podijelio na više stranica uglavnom iz estetskih razloga; Svidjelo mi se vidjeti slike dok čitam tekst bez potrebe za listanjem gore -dolje. Pravilo za pregled slika; Obično nakon svakog isječka koda postoji slika. Uživajte!

Korak 1: Naredba START

Komanda START
Komanda START
Komanda START
Komanda START
Komanda START
Komanda START
Komanda START
Komanda START

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

POČNITE ThingToBeStarted.exePrilično jednostavno

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

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

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

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

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

SET TestVS = Promenljivi promenljivi niz!U ovom slučaju samo smo pohranili vrijednost "Test Variable String!" u varijablu TestVS. Pa sve je to zabava i igre, ali kako da dohvatimo vrijednost varijable? Koristimo %. Samo dodajte % oko imena varijable

ECHO %TestVS %U redu, ali šta drugo može učiniti?

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

Komanda SET - Mr. Math (2/4)
Komanda SET - Mr. Math (2/4)
Komanda SET - Mr. Math (2/4)
Komanda SET - Mr. Math (2/4)
Komanda SET - Mr. Math (2/4)
Komanda 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, šta se dogodilo? To je trebalo da upali! Čekaj malo … šta je to bilo sa SET komandama koje samo prave 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 da je "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 laka 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 paketnu datoteku, evo je

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

@ECHO OFFSET /a Test = 1ECHO%Test%SET /a Test =%Test%-1ECHO%Test%PAUSEUredu. Zato idemo! Odlično! Radilo je savršeno! Ali šta dalje?

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

Komanda SET - Unos korisnika (3/4)
Komanda SET - Unos korisnika (3/4)
Komanda SET - Unos korisnika (3/4)
Komanda SET - Unos korisnika (3/4)
Komanda SET - Unos korisnika (3/4)
Komanda SET - Unos korisnika (3/4)

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

SET /p UDefine =Sa /p, program zapravo pauzira i čeka korisnički unos. Ali čekajte, ne vidim parametar /, znači li to da je varijabla samo niz? Pa, nekako. /P parametara u potpunosti negira /a, a ako pokušate, jednostavno dobijete pogrešku operanda koja nedostaje. To znači da korisnički definirana varijabla neće moći procijeniti izraze. Dakle, što se može učiniti? Pa, evo trika koji sam smislio i koji možemo upotrijebiti. Komanda SET ne podržava sve istovremenu upotrebu 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. PAUSEOdličan kalkulator. Ako do sada niste shvatili, {{{ECHO.}}} Je prazan red. Nije li to cool-cool?

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

Komanda SET - Više od očiju (4/4)
Komanda SET - Više od očiju (4/4)
Komanda SET - Više od očiju (4/4)
Komanda SET - Više od očiju (4/4)
Komanda SET - Više od očiju (4/4)
Komanda 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, u stvari, vrlo fleksibilne i nisu ograničene samo na ECHO -e. Jeste li pokušali samo unijeti varijablu sami?

SET Test = Instrukcije%Test%Kakva čudna greš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 otkucana. Pa, šta ako

SET Test = START cmd.exe%Test%Awesome! 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 OffSET Variable1 = ECSET Variable2 = HSET Variable3 = O CSET Variable4 = ooSET Variable5 = l! ECHO%Variable1 %% Variable2 %% Variable3 %% Variable4 %% Variable5%ECHO.%Variable1 %% Variable2 %% Variable2 %% %Varijabla5%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 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 uslovni operand. Osnovna, ali moćna, svejedno. Za one koji nikada prije nisu programirali, naredba IF upravo tako zvuči. Ako se izraz u sintaksi dokaže kao istinit (ili NIJE istinit), izvršit će se sljedeći niz naredbi. Osnovna naredbena linija ide ovako:

IF%varijabla1%==%promenljiva2%ECHO Ovaj deo je izvršenili ako imate više od jedne sintakse

@ECHO OFFIF%varijabla1%==%varijabla2%(ECHO Ovaj dio je izvršen. ECHO I ovo je isto.) ELSE (ECHO Ako varijabla1 ne radi & apost = varijabla 2, to se događa. ECHO i to se također događa.)Napomena: Neobično 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 greška u vašem IF kodu, to je najvjerojatnije zbog zagrada. Da bih pokrenuo ovu određenu grupu, zapravo sam koristio samu naredbenu liniju, tako da sam mogao postaviti varijable bez potrebe za uređivanjem ifVariableTest.bat više puta.

Korak 7: 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)
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 sasvim. Želim da se nešto dogodi ako je varijabla1 manja od druge! Za nas programere, znam da ovo izgleda kao jednostavan zadatak. Učinite 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 glupo izgledalo, "" ne rade s paketnim datotekama.

EQU - Jednako - == NEQ - Nije jednakoLSS - Manje od GTR - Više negoLEQ - Manje od ili jednako ToGEQ - Više od ili 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.) ELSE (ECHO 32 je Ne manje od 32. Kraj priče.) PAUZA

Korak 8: GOTO naredba

GOTO komanda
GOTO komanda
GOTO komanda
GOTO komanda
GOTO komanda
GOTO komanda

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

: Label1To je jednostavno dvotačka ispred niza slova i/ili brojeva bez razmaka. Naredba GOTO je strukturirana ovako

IDITE NA Oznaku1To je tako lako! Kad bolje razmislim, nisam siguran zašto ovo nisam stavio u blago naprednu grupu. U svakom slučaju, ova naredba se može koristiti za ponavljanje batch datoteke jednostavnim GOTO oznakom koja ponovo izvršava naredbu GOTO

@ECHO OFF: RepeatMeECHO Ovo će se ponoviti ako ne pritisnete "CTRL-C" IDITE NA RepeatMeUsput, paketna datoteka govori istinu. CTRL-C je univerzalna pauza i zahtjev za prekid. CTRL-S je jednostavno pauza. Ali 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 prikazati prvoGOTO 2: TurnEOff@ECHO OFFGOTO VišeGoto: u ovom slučaju je čak i 2 1Gornji kôd je namjerno konfuzno strukturiran kako bi se naglasila sposobnost GOTO -a da se kreć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 napomene
Zaključak: Završne napomene

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 komande. 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 u akciji. Njegova sintaksa je:

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

C: / Users / Neo \> DIRNormalno bi izlazio

Volumen u pogonu C je HP serijski broj sveske BC7E-E26C Direktorij C: / Users / Neo2007-30-06 11:14.2007-30-06 11:14 AM..2007-17-03 18:41 PM.idlerc2007-19-02 03:14 PM Kontakti2007-19-06 22:44 PM Desktop2007-29-06 08:47 AM Dokumenti2007-19-06 10:35 AM Preuzimanja2007-19-02 03:14 PM Omiljeni02/19/ 2007 03:14 PM Linkovi2007-12-05 04:01 PM Music2007-30-06 01:20 AM Pictures2007-07-04 15:08 PM Sačuvane 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 bajtova 14 Dir (i) 132, 927, 537, 152 bajtova besplatnoNo, ako tome dodamo> i

C: / Users / Neo / DIR> DIRContents.txtNe dobivamo izlaz, već umjesto toga dobivamo potpuno novu tekstualnu datoteku imena DIRContents.txt koja sadrži izlaz! Kul, ali čekaj, postoji problem! Želim imati više izlaza u istoj datoteci, ali moj> samo nastavlja da je prepisuje, a ne dodaje! Šta 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 potpuno prepišemo navedenu datoteku, dodajemo je! Pa pokušajmo.

DIR >> DIRContents.txtUredno! Odlično radilo! Zato čekajte. Znači li to da mogu unijeti sve što želim u tekstualnu datoteku? Želim probati

Serija je super> Awesome.txtŠta? Zašto to nije uspjelo? To je zato što parametar zapisuje samo izlaz legitimnih naredbi, a ne samo sve što unesete. Ali, ovo je problem koji se jednostavno rješava. Upamtite, parametri bilježe izlaz naredbi. Koja naredba ima izlaz koji možemo kontrolirati? ECHO komanda

ECHO serija je odlična> Awesome.txtECHO I tako mi je drago što to znam. >> Awesome.txtJej! Zapamtite. >> dodaje izlaz u sljedeći red datoteke.

Korak 11: Primjer implementacije

Uredu. Pa hajde da sve to spojimo! Evo nekoliko primjera kodova koje sam napravio i koji koriste naredbe koje sam vam pokazao u ovom uputstvu. Ovaj kôd će neprestano dodavati 1 varijabli, a rezultat će ispisivati neograničeno dugo.

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

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

@ECHO OFFCHDIR C: / Users / NeoECHO @ECHO OFF> Hello.batECHO ECHO Zdravo! >> Hello.batECHO ECHO I & aposm u vašem C pogonu! >> Hello.batECHO PAUZA >> 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 & aposma.:RetrySET /p Pogodi = IF%Guess%LSS%Odgovor%ECHO Moj broj je veći. IF%Guess%GTR%Odgovor %ECHO Moj broj je manji. IF%Pogodi%==%Odgovor%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čunara. Ono što ova datoteka radi je to što neograničeno 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 direktorij stalno sve puniji s tekstualnim datotekama, pa je svaka uzastopna tekstualna datoteka veća od prethodne. Rezultat ovoga je mapa čija se ukupna veličina svake sekunde povećava i povećava

@ECHO OFFSET /a num = 1MKDIR lolnumbers CD 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 napomene

Fuj. U ovom smo uputstvu obradili mnogo toga. Ovaj je, zapravo, 3 puta duži od mog prethodnog. 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 njene vrijednosti. DA:

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

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

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

AKO 1 == 1 (ECHO Jedan je jednak!) OSTALO (ECHO Nešto & aposs nije u redu sa ovim programom.)Takođe, 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 radio na tome. 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čunaru, obavezno ću se javiti, ali mislim da to neće biti potrebno; Instructables je prijateljska zajednica i siguran sam da će vam neko tamo pomoći u vašoj nevolji. Sretno slaganje!

Preporučuje se: