Sisukord:
- Samm: käsk START
- Samm 2: SET Command - String Theory (1/4)
- Samm 3: SET Command - Mr.Math (2/4)
- Samm 4: SET -käsk - kasutaja sisend (3/4)
- Samm 5: SET -käsk - rohkem kui silmaga silmitsi (4/4)
- 6. samm: IF -käsk - kõik on võrdsed (1/2)
- Samm 7: IF -käsk - aga ma olen sinust suurem (2/2)
- 8. samm: käsk GOTO
- 9. samm:> parameeter (1/2)
- 10. samm: >> parameeter (2/2)
- Samm 11: rakendamise näide
- 12. samm. Kokkuvõte: lõppmärkused
Video: Täiustatud partii: 12 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
aga see pole midagi, kasuta kataloogi muutmiseks lihtsalt käsku CD või CHDIR. Kuid sel juhul pole sellel tegelikult tähtsust. "," Top ": 0,08480565371024736," left ": 0,014285714285714285," height ": 0,8586572438162544," width ": 0,9357142857142857}]">
PALUN SUUNA KÕIK KÜSIMUSED, MIDA TE VÕITE MINU BLOGILE VÕTTA: https://tamsanh.com/blog/2008/07/11/batch-tutorial-3-advanced-batch/Ma ei külasta enam juhendeid ja saate kiirema tulemuse vastus sel viisil. Hei poisid! Tam Nguyen siin. Sellest on kaua aega möödas, aga nüüd on see käes! Esitan teile oma partiiõpetuste järgmise osa! Võimalik, et olete (või mitte) lugenud minu teisi juhendeid: Partii põhitõed Kergelt soovitatud partii See juhendatav laenab mõningaid elemente kahest esimesest juhendist. Nimelt: ECHO käsk CD käskDIR käsk Kui te pole teisi kahte lugenud, soovitan need käsud kiiresti üle vaadata. Ma ootan siin. Okei! Selle juhendi lõpuks olete intiimne: START CommandSET CommandIF CommandGOTO Command> ja >> Parameters ja looge ning laiendage. Nii et avame selle hea käsuviiba ja alustame! Käivita-> cmd Alternatiivina võite minna: Start-> Program Files-> Accessories-> Command Prompt, nii et olen jaganud mõned käsud enam kui üheks leheks peamiselt esteetilistel eesmärkidel; Mulle meeldis pilte lugeda teksti lugemise ajal ilma üles ja alla kerimiseta. Pildi vaatamise rusikareegel; Tavaliselt on pärast iga koodilõiku pilt. Nautige!
Samm: käsk START
Käsk START on kena väike käsk, mis käivitab asju! See on lihtne käsk ja aitab meil enne raskemate käskude juurde jõudmist soojeneda. Käsu parameetrid on täpselt need, mida te arvate.
START ThingToBeStarted.exePäris lihtne
START WMPlayer.exeSaate mitte ainult käivitada.exe, vaid ka sisestada veebisaidi ja see avaneb teie vaikebrauseris
START www. Instructables.comPäris lihtne, eks? Okei. Nüüd liigume edasi käsu Instructable: SET Command tõelise liha juurde.
Samm 2: SET Command - String Theory (1/4)
SET -käsk: muutuja määratleja. Ah. Muutujad. Arendaja ambrosia. Muutujad on mälukillud, mis on … eks, muutuvad. Ei mingeid IF -sid ega MITTE! (lol, vabandust). Okei! Kuidas see laps töötab? Lihtsalt, käsu SET parameetrid on järgmised: SET VariableName = Variable ValueSET loob iseenesest stringimuutujad.
SET TestVS = Test Variable String!Sel juhul salvestasime just väärtuse "Test Variable String!" muutujale TestVS. Noh, see on lõbus ja mänguline, aga kuidas me muutuja väärtuse kätte saame? Kasutame %. Lihtsalt lisage muutuja nime ümber %
ECHO %testVS %Ok lahe, aga mida muud saab teha?
Samm 3: SET Command - Mr. Math (2/4)
Kas see oskab matemaatikat teha? Noh, teeme selle testimiseks lihtsa partii.
@ECHO OFFSET Test = 1ECHO%Test%SET Test =%Test%-1ECHO%Test%PAUSEAww, mis juhtus? See oleks pidanud toimima! Oota hetk … mis see oli siis, kui SET käsud tegid ainult stringe? Jah. Käsk SET loob iseenesest ainult stringimuutuja, mis tähendab, et see loob väärtuse kõige sõnasõnalise tõlgenduse. See ei arva, et "1 - 1" võrdub "0", vaid arvab, et "1 - 1" võrdub "1 - 1". Niisiis, kuidas seda muuta? Soovime, et muutujat ei kopeeritaks otse, vaid seda hinnatakse. See tähendab, et me tahame selle stringist väljendiks muuta! Väga lihtne muudatus, lihtsalt lisage käsk SET a /a. Siin on lihtne pakettfail, mis näeb seda tegevuses, või võite selle lihtsalt sisestada käsuviiba käsiraamatusse. Pakun viimast; see on palju kiirem ja kood pole liiga keeruline, kuid kui soovite tõesti partiifaili, siis siin see on
@ECHO OFFSET /a Test = 2+2ECHO %Test %PAUSEFantastiline! See väljendas seda ideaalselt. Nüüd teame, milliseid muudatusi tuleb teha meie matemaatikatestis. Bat
@ECHO OFFSET /a Test = 1ECHO%Test%SET /a Test =%Test%-1ECHO%Test%PAUSEOkei. Nii et laseme käia! Suurepärane! See töötas ideaalselt! Aga mis edasi?
Samm 4: SET -käsk - kasutaja sisend (3/4)
SET-il on ka võimalus kasutajat sisestada. SET-parameetritele /p lisades muudab see selle tavalisest muutujate seadistajast kasutaja juhitavaks muutujateks.
SET /p UDefine =/P korral peatab programm tegelikult ja ootab kasutaja sisendit. Kuid oodake, ma ei näe parameetrit a, kas see tähendab, et muutuja on ainult string? Noh, omamoodi. Parameetrite /p eitab /a täielikult ja kui proovite seda, kuvatakse lihtsalt puuduva operandi tõrge. See tähendab, et kasutaja määratud muutuja ei saa avaldisi hinnata. Mida siis teha? Noh, siin on keeruline trikk, mida ma arvasin, et saame kasutada. Käsk SET ei ole parameetrite /p ja /a samaaegne kasutamine õige? Mis saab parameetrite /a ja /p järjestikust kasutamisest? Ahhh … sa kavalad saapad
@ECHO OFFECHO kalkulaatori versioon 1.0ECHO. SET /p UDefine = SET /a UDefine =%UDefine%ECHO = ECHO%UDefine%ECHO. PAUSEHea kalkulaator jõudis kohale. Kui te pole sellest veel aru saanud, on {{{ECHO.}}} Tühi rida. Kas pole lahe?
Samm 5: SET -käsk - rohkem kui silmaga silmitsi (4/4)
Siinkohal võib tunduda, et käsu SET muutujad sobivad ainult stringidele ja avaldistele. Pole tõsi. Muutujad on tegelikult väga paindlikud ega piirdu ainult ECHO -dega. Kas olete proovinud lihtsalt muutujat ise sisestada?
SET Test = Instructables%Test%Milline imelik viga … see ütleb, et käsku "Instructables" ei tunta ära, mitte seda, et % Test % -l polnud süntaksit. See tähendab, et DOS kohtleb iga muutujat nii, nagu see oli käsitsi trükitud. No mis siis, kui
SET Test = START cmd.exe%Test%Vinge! See töötas! DOS kohtleb iga muutujat nii, nagu kasutaja on selle sisestanud, ja käivitab selle vastavalt. Siin on huvitav kood: (Lihtsalt kopeeri/kleebi; see on natuke tüütu.
@ECHO OffSET Variable1 = ECSET Variable2 = HSET Variable3 = O CSET Variable4 = ooSET Variable5 = l! ECHO%Variable1 %% Variable2 %% Variable3 %% Variable4 %% Variable5%ECHO.%Variable1 %% Variable2 %% Variable3 %% Variable4% %Muutuja5%PausKas pole kena? Iga muutuja sisaldab kogu kirja kahte tähte (välja arvatud muutuja2) ja muutujate järjekorda seadmisel lisatakse iga täht kokku ja lõpetatakse kogu ECHO Cool käsk! SET -käsk on üks keerukamaid ja võimsamaid käske DOS -sõnastik.
6. samm: IF -käsk - kõik on võrdsed (1/2)
See klassikaline tingimuslik operand. Põhiline, kuid võimas. Neile, kes pole kunagi varem programmeerinud, on IF-käsk täpselt selline, nagu see kõlab. Kui süntaksi avaldis osutub tõeseks (või MITTE tõeseks), käivitatakse järgmine käskude jada. Põhiline käsurida on järgmine:
IF%muutuja1%==%muutuja2%ECHO See osa täidetaksevõi kui teil on rohkem kui üks süntaks
@ECHO OFFIF%muutuja1%==%muutuja2%(ECHO See osa täidetakse. ECO nii ka see.) ELSE (ECHO Kui muutuja1 ei tee & apost = muutuja 2, siis see juhtub. ECHO ja see juhtub ka.)Märkus: sulgude omapärane paigutus ei tulene sellest, et ma ei usu organiseeritud koodi, vaid sellepärast, et kui neid pole nendes kohtades, ei tööta kogu IF -koodilõik. Seega, kui teie IF -koodil on mõni viga, on see tõenäoliselt sulgude tõttu. Selle konkreetse partii käivitamiseks kasutasin tegelikult käsuviiba, et saaksin muutujaid määrata ilma IfVariableTest.bat -i mitu redigeerimist muutmata korda.
Samm 7: IF -käsk - aga ma olen sinust suurem (2/2)
Ok, nii et teil on kena IF -avaldus ja kõik, ja kontrollida, kas muutujad on võrdsed või mitte, on kena ja kõik, kuid see ei sobi arvele. Ma tahan, et midagi juhtuks, kui muutuja1 on väiksem kui teine muutuja! Meie, programmeerijate jaoks, tean, et see tundub lihtne ülesanne. Lihtsalt tehke seda, mida kõik teised programmeerimiskeeled teevad! Hoidke oma hobuseid kauboi. Mitte nii kiiresti. Pakettfail ei ole lihtsalt teie tavaline programmeerimiskeel. Nii rumal kui see ka ei tundu, ei tööta partiifailidega "".
EQU - võrdne - == NEQ - pole võrdne LSS - vähem kui GTR - suurem kui LEQ - väiksem või võrdne ToGEQ - suurem või võrdneLihtsalt pange need operandid näite == asemele
IF 32 GTR 3 ECHO See toimib
@ECHO OFFIF 32 GEQ 32 (ECHO 32 on suurem või võrdne 32 -ga) ELSE (ECHO 32 on kindlasti võrdne 32 -ga) PAUSEIF 32 LSS 32 (ECHO 32 on alla 32? Ma arvan, et mitte.) MUU (ECHO 32 on Mitte vähem kui 32. Loo lõpp.) PAUS
8. samm: käsk GOTO
GOTO käsk. See teeb täpselt seda, mida ta ütleb; see läheb partiifaili skripti sildile. Selle käsu kasutamiseks peab teil esmalt olema silt. Sildid näevad välja sellised:
: Märgis1See on lihtsalt koolon enne tühikute ja/või numbrite seeriat. Käsk GOTO on üles ehitatud nii
GOTO silt 1Nii lihtne see ongi! Kui järele mõelda, siis ma pole päris kindel, miks ma seda veidi lisatud paketti ei pannud. Igal juhul saab seda käsku kasutada partiifaili kordamiseks, lihtsalt GOTO etiketi abil, mis täidab uuesti käsku GOTO
@ECHO OFF: RepeatMeECHO Seda korratakse, kui te ei vajuta klahvi "CTRL-C" GOTO RepeatMeMuide, partiifail räägib tõtt. CTRL-C on universaalne peatamise ja lõpetamise viip. CTRL-S on lihtsalt paus. Kuid akna sulgemine töötab sama hästi. GOTO võib ka teie koodi vahele jätta või ümber korraldada
GOTO TurnEOffGOTO MultipleGotoECHO See ECHO jäetakse vahele.: MitmikGotoGOTO 3: ENDPAUSEEXIT: 1ECHO EndGOTO END: 3ECHO See kuvatakse kõigepealt GOTO 2: TurnEOff@ECHO OFFGOTO MultiGoto: 2ECHO See on viimane 1Ülaltoodud kood oli koostatud eesmärgipäraselt segaselt, et rõhutada GOTO võimet koodis ringi hüpata.
9. samm:> parameeter (1/2)
Parameeter (1/2) "src =" https://content.instructables.com/ORIG/FBH/P5XV/F3JESWI8/FBHP5XVF3JESWI8-j.webp
Parameeter (1/2) "src =" https://content.instructables.com/ORIG/FIX/9BXW/F3JESWI5/FIX9BXWF3JESWI5-j.webp
Parameeter (1/2) "src =" https://content.instructables.com/ORIG/FHZ/92ZS/F3JESWI7/FHZ92ZSF3JESWI7-j.webp
Parameeter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> See järgmine bit pole tegelikult" käsk ", vaid pigem süntaks teistesse See teeb teatud käsu väljundi ja saab selle tekstifaili kirjutada. Seda on lihtsam selgitada, kui näete seda kõigepealt tegevuses. Selle süntaks on:
Käsk> FailinimiOlgu, oletame, et oleme teatud kataloogis. Seejärel kasutame käsku DIR, mis, kui loete partii põhitõdesid, teaks, et see näitab teie praeguse kataloogi sisu
C: / Kasutajad / Neo \> DIRTavaliselt väljastataks
C-draivi helitugevus on HP helitugevuse seerianumber BC7E-E26C C-kataloog: / Users / Neo2007-30-06 11:14.2007-30-06 11:14 AM..2007-17-03 06:41 PM.dlerc2007-19-02 15:14 Kontaktid 06.06.2007 22:44 Töölaud2007-29-06 08:47 Dokumendid2007-19-06 10:35 Allalaadimised2007-19-02 15:14 Lemmikud02/19/ 2007 03:14 PM Lingid 2007-12-05 04:01 PM Muusika 2007-30-06 01:20 Pildid 2007-07-04 15:08 Salvestatud mängud 2007-19-02 03:14 PM Otsingud 2007-01-03 07:23 PM 242, 947 Test Record. Wma2007-19-06 10:39 Videod 2007-08-06 09:57 1, 324, 574 wp_screenprint_mc.pdf2007-18-06 09:59 73, 996, 533 wp_tshirt_full.mp4 4 Fail (id) 75, 564, 054 baiti 14 Direktor (id) 132, 927, 537, 152 baiti tasutaKui aga lisada sellele> ja
C: / Users / Neo / DIR> DIRContents.txtMe ei saa väljundit, vaid selle asemel saame täiesti uue tekstifaili nimega DIRContents.txt, millel on väljund! Lahe! Aga oota, probleem on! Ma tahan, et samas failis oleks mitu väljundit, kuid minu> kirjutab selle lihtsalt üle ja ei lisa! Mida teha?
10. samm: >> parameeter (2/2)
Parameeter (2/2) "src =" https://content.instructables.com/ORIG/FG4/B58B/F3JESWIJ/FG4B58BF3JESWIJ-j.webp
Parameeter (2/2) "src =" https://content.instructables.com/ORIG/F05/GZB1/F3JESWIK/F05GZB1F3JESWIK-j.webp
Parameeter (2/2) "src =" https://content.instructables.com/ORIG/F93/Q7VS/F3JESWL2/F93Q7VSF3JESWL2-j.webp
Parameeter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Parameeter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> Mul on hea meel, et küsisite. Selle jaoks on >> parameeter! >> on nagu>, kuid selle asemel, et määratud fail täielikult üle kirjutada, lisame sellele! Nii et proovime seda.
DIR >> DIRContents.txtKorralik! Töötas ideaalselt! Nii et oodake. Kas see tähendab, et võin tekstifaili kirjutada kõike, mida tahan? Ma tahan seda proovida
Partii on vinge> Awesome.txtMida? Miks see ei toiminud? Selle põhjuseks on asjaolu, et parameeter kirjutab ainult legitiimsete käskude väljundit, mitte ainult kõike, mida sisestate. Kuid see on lihtsalt lahendatav probleem. Pidage meeles, et parameetrid salvestavad käskude väljundi. Millisel käsul on väljund, mida saame kontrollida? Õige! ECHO juhtkond
ECHO partii on vinge> Awesome.txtJaa! Pidage meeles. >> lisab väljundi faili järgmisele reale.
Samm 11: rakendamise näide
Okei. Nii et paneme kõik kokku! Siin on mõned minu tehtud näidiskoodid, mis kasutavad käske, mida olen teile selles juhendis näidanud. See kood lisab muutujale pidevalt 1 ja väljastab tulemuse määramata ajaks.
@ECHO OFFSET /a number = 1: kordusECHO%num%SET /a num =%num%+1 GOTO kordusSee kood käivitab CMD.exe 5 korda
@ECHO OFFSET /a RepeatNum = 5: OpenIF%RepeatNum%== 0 GOTO EndSTART CMD.exeSET /a RepeatNum =%RepeatNum%-1GOTO Avatud: lõppSee kood loob partiifaili kausta C: / Users / Neo ja käivitab selle
@ECHO OFFCHDIR C: / Users / NeoECHO @ECHO OFF> Tere.batECHO ECHO Tere! >> Tere. batPauseSee on väike mängupakett. Peate numbri ära arvama
@ECHO OFFSET /a GuessNum = 0SET /a Vastus =%RANDOM%ECHO Arva ära, millest ma mõtlen ja mida mõtlen.: RetrySET /p Arva = IF%Arva%LSS%Vastus%ECHO Minu number on suurem. IF%Guess%GTR%Answer %ECHO Minu number on madalam. IF%Guess%==%Vastus%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Proovi uuesti: ENDECHO Sul on õigus! Vastus oli %Vastus %ECHO Kulus %GuessNum %Guesses. ECHO. PAUSEJa see üks, mulle meeldib palju. Kui te aga ei ole ettevaatlik, võib see sõltuvalt arvuti võimekusest üsna kiiresti käest ära minna. See fail teeb lõputult nummerdatud tekstifailid kataloogi nimega lolnumbers. Kõik need tekstifailid sisaldavad kataloogi lolnumbers DIR -i. Asi on selles, et kataloog muutub tekstifailidega pidevalt täis ja seega on iga järjestikune tekstifail suurem kui viimane. Selle tulemuseks on kaust, mille kogumaht suureneb iga sekundiga
@ECHO OFFSET /a num = 1MKDIR lolnumbersCD lolnumbers: RestartDIR>%num%.txtSET /a num+= 1GOTO TaaskäivitaNeed on üsna põhilised koodid. Katsetage nendega oma südant.
12. samm. Kokkuvõte: lõppmärkused
Oeh. Selles juhendis käsitlesime tohutult palju. See on tegelikult kolm korda pikem kui minu viimane. Loodan, et teile meeldib see! Vaid mõned meeldetuletused enne minekut. Pidage meeles: muutuja seadistamisel ärge kunagi pange muutuja ja selle väärtuse vahele tühikut. JAH:
SET muutuja1 = VäärtusLisaruumi tõttu muutub teie muutuja tühjaks. EI
SET muutuja1 = VäärtusSamuti mitu IF -d. Ärge unustage sulgu õigesti vormindada: JAH
KUI 1 == 1 (ECHO One võrdub ühega!) MUU (ECHO Selle programmiga on midagi valesti.)EI
KUI 1 == 1 (ECHO One võrdub ühega!) MUU (ECHO Selle programmiga on midagi valesti.)Lisaks on olemas sisseehitatud muutujad
%CD %% DATE %% TIME %% RANDOM%% CD% Laieneb praegusesse kataloogi. Põhimõtteliselt on tee esimese>% DATE% ja% TIME% taga kuupäev ja kellaaeg.% RANDOM% annab juhusliku arvu vahemikus 0 kuni 32767. Vahemikku ei saa muuta, ma arvan. Ja see on põhimõtteliselt kõik! Loodan, et teile meeldis see juhendatav, ma töötasin selle nimel kõvasti. Loodetavasti korvab see 10 -kuulise puudumise. Nüüd halvad uudised. Mul on mõne kuu jooksul mõnele küsimusele vastamisega probleeme, sest olen riigist väljas. Aga kui teil on küsimusi, jätke lihtsalt kellelegi kommentaar. Kui saan juurdepääsu arvutile, vastan kindlasti, kuid arvan, et see pole vajalik; Instructables on sõbralik kogukond ja ma olen kindel, et keegi seal aitab teid teie olukorras. Head pakkimist!
Soovitan:
Kuidas teha oma OS! (partii ja näide sees): 5 sammu
Kuidas teha oma OS! (partii ja näide sees): tehke see kohe
Lihtne partii sisselogimine: 3 sammu
Lihtsa partii sisselogimise tegemine: esimene asi, mida teha, on oma faili loomine. Saate selle nimetada endale meelepäraseks, kuid lisage see kindlasti. BAT või muidu EI TOIMI
Partii sisselogimisekraan: 5 sammu
Partii sisselogimisekraan: Siin on väike programm, mis võimaldab teil registreeruda ja partii sisse logida, loodetavasti teile meeldib
Sõnumikastide lisamine partii programmeerimisse: 3 sammu
Sõnumikastide lisamine partii programmeerimisse: kas olete kunagi tahtnud lisada oma partiifailidele graafilist liidest, nagu saate VBScriptis? Mul on kindlasti. Kuid nüüd saate selle suurepärase programmiga MessageBox
Partii Wikipedia otsija: 3 sammu
Partii Wikipedia otsija: Kas teile ei meeldi nii palju veebilehti läbi vaadata, et lihtsalt Vikipeediast midagi otsida? Võite lihtsalt seada ingliskeelse Vikipeedia oma avalehele või teha seda! See on lihtne pakettfail, mis küsib otsinguteemat ja seejärel toob teile