Мазмуну:

Топтомдук файлдар: Кээ бир негиздер ..: 8 кадам
Топтомдук файлдар: Кээ бир негиздер ..: 8 кадам

Video: Топтомдук файлдар: Кээ бир негиздер ..: 8 кадам

Video: Топтомдук файлдар: Кээ бир негиздер ..: 8 кадам
Video: How to Crochet: Balloon Sleeve Sweater | Pattern & Tutorial DIY 2024, Сентябрь
Anonim
Топтомдук файлдар: Кээ бир негиздер …
Топтомдук файлдар: Кээ бир негиздер …

Бул Нускоо сизге пакеттик файлдарды жазуунун кээ бир негиздерин үйрөтөт жана кызыктуу нерселерди сактап калуу үчүн, эки жуп менен санды табуу оюнун кантип түзүүнү көрсөтөт …

Мен командалык ыкчам көндүмдөрдүн көбүн үйрөндүм, жана менин партиямды интернеттен, айрыкча Instuctablesтан үйрөндүм. Мен Instructables колдонуучусу Neodudemanга партияны жазуу боюнча улуу көрсөтмөлөрү үчүн рахмат айткым келет. Рахмат!

1 -кадам: Пакеттик файл деген эмне?

Пакеттик файл деген эмне?
Пакеттик файл деген эмне?

Ооба, менин окурмандарымдын көбү пакеттик файлдын эмне экенин мурунтан эле билишсе керек, бирок андай болгон учурда ….

Пакеттик файл - бул пакеттик файлды иштеткенде ырааттуу түрдө аткарылуучу MSDOS командаларынын жыйнагы (партиясы). Пакеттик файлдар блокнотто.txt файлдары катары башталат жана.bat кеңейтүүсү бар нерсе катары сактаганда аткарылуучу файлдарга айланат. Ошентип, негизинен, сиз болгону блокнотко файл жазып, анан "instruktiv.bat" деп сактап коюңуз.. Bat файлдын аталышынын аягына жайгаштырылгандан кийин, жакшы, жаңы файл пайда болот, аны кандай деп атасаңыз да, жакшы, тиштүү сөлөкөт менен. Макул, эми бул пакеттик файлдар эмне экенин билсек, жазууга киришели!

2 -кадам: Негизги буйруктар

Негизги буйруктар
Негизги буйруктар
Негизги буйруктар
Негизги буйруктар
Негизги буйруктар
Негизги буйруктар
Негизги буйруктар
Негизги буйруктар

Жарайт, сиз бир нече буйрукту үйрөнүшүңүз керек. Ошентип, биринчиден, MSDOS буйрук сабын ачыңыз. Баштоо терезесин ачыңыз, иштетүүнү чыкылдатыңыз, "cmd.exe" деп териңиз, андан кийин run. Okay басыңыз. Биринчиден, биз өзгөрмөлөрдү карайбыз. Өзгөрмөлөр - бул сандар, сөздөр же башка нерселер, (кандайдыр бир деңгээлде) ар кандай. Command Prompt өзгөрмө функцияга ээ. Ал буга чейин коюлган кээ бир өзгөрмөлөргө ээ, мисалы TIME, DATE жана башкалар. Көпчүлүк өзгөрмөлөр, бирок, сиз өзүңүздү орното аласыз. Command Prompt терезесин чыкылдатып, териңиз: SET өзгөрмөсү = random "SET" тамгасын чоң тамгалар менен жазсаңыз, мааниси жок, бирок мен, өзгөчө, пакеттик файлдарды жазууда, бардык командаларымды баш тамга менен жазууну жакшы көрөм. Бул эмне кылып жатканыңызды айтууну жеңилдетет. Силер үчүн жакшы! Сиз биринчи өзгөрмөнү койдуңуз! Бирок биз муну менен эмне кыла алабыз? биз кыла турган нерсенин баары өзгөрмөнү туура коюуга ким кызыкдар? Көрүнүп тургандай, биз мындан да көптү кыла алабыз, бирок биринчиден, компьютерди бизге өзгөрмөнүн кандай коюлганын айтууга аракет кылалы. Макул, компьютерди вариативдин маанисин окушу үчүн, биз өзгөрмөнүн атын теребиз, бул учурда "өзгөрмө" жана атын %белгилеринин ичине коёбуз, мисалы: %өзгөрмөлүү %. Улантыңыз жана муну териңиз жана Enter баскычын басыңыз:%өзгөрмөлүү%Кызык ката? Компьютер "" өзгөрмө "ички же тышкы буйрук, иштей турган программа же пакеттик файл катары таанылбаганын айтты." Анда эмне үчүн бул катаны берди? Ооба, негизинен, бул катаны берди, анткени Command Prompt бул өзгөрмөнүн маанисин сиз өзүңүз жазгандай кабыл алат. Сиз %өзгөрмөлүү %тергенде, компьютер сизди "туш келди" буйругун аткаруу үчүн айтып жатат деп ойлоду. Албетте, өзгөрмөнүн маанисин көрүү үчүн бизге дагы бир нерсе керек. Бул жерде ECHO буйругу келет. Ошентип, эгер биз ECHO буйругун өзгөрмөнүн алдында терсек, анда биз каалаган нерсеге ээ болушубуз керек: ECHO %өзгөрмөлүү %Ал жерде! Эми биз каалаган нерсеге ээ болдук! Компьютер "туш келди" басып чыгарат. Албетте, бул биз өзгөрмөнүн терген мааниси болчу, ошондуктан биз каалаган жыйынтык. Кийинки кадамда биз өзгөрмөлөр жана аларды кантип колдоно аларыбыз жөнүндө көбүрөөк билебиз.

3 -кадам: SET Command жана Variables колдонуу

SET Command жана Variables колдонуу
SET Command жана Variables колдонуу
SET Command жана Variables колдонуу
SET Command жана Variables колдонуу

Макул, азыр биз өзгөрмөлөрдүн эмне экенин билдик, алар менен дагы эмне кыла алабыз? Ооба, биз математиканы жасай алабыз, биз аларды программаларды жана пакеттик файлдарды жазуу үчүн шарт катары колдоно алабыз, негизги арифметиканы аткара алабыз, буйруктарды аткара алабыз жана башкалар. Биз өзгөрмөлөр менен кыла турган нерселердин бардыгына кирбейбиз, бирок funtion өзгөрмөсүнүн кээ бир маанилүү аспектилерин талкуулайбыз. Биринчиден, SET буйругу өзү гана сап өзгөрмөлөрүн чыгарат. Бул башка математиканы кошпойт же жасабайт дегенди билдирет. Эгерде сиз компьютерге 1 мааниси бар өзгөрмөгө 1 кошууну айтсаңыз, анда ал сизге 1+1 маанисин берет. Эгер биз чындыгында эки санды кошушун кааласак, SET буйругунан кийин "/a" коюшубуз керек. Ошондуктан, биз теребиз: SET /a varible = (value) Эми, биз колдонуучу камсыз кыла турган пакеттик файлга өзгөрмөнү койгубуз келет дейли. Эгерде биз баалуулуктарды формула боюнча эсептеп жаткан болсок, же биздин учурда, эгер колдонуучу компьютер ойлоп тапкан санды табышын кааласак, муну кылгыбыз келет. Колдонуучу көрсөткөн өзгөрмөнү жаратуу үчүн, SET буйругунан кийин a /p кошобуз жана = боштуктан кийин аймакты таштайбыз: SET /p өзгөрмөсү = Мына! Колдонуучу көрсөткөн өзгөрмө! Эгерде биз бул сапты партия файлына коё турган болсок, анда партия бул сызыкка жеткенге чейин иштейт, андан кийин улантуудан мурун колдонуучунун киргизүүсүн күтөт. /P жөнүндө дагы бир сонун нерсе, ал /aны толугу менен жокко чыгарат. Биз a /p киргизгенде, биз жөн эле /a өткөрүп жибере алабыз. Кийинки нерсе, бул жөнүндө кокус өзгөрмөлөрдү чыгарууну үйрөнөбүз. Эгерде биз компьютердин өзгөрмө үчүн кокус санды тандоосун кааласак, жөн гана SET буйругун терип, андан кийин өзгөрмөнү, анан өзгөрмөнү %RANDOM %га барабар кылып койобуз. Дагы бир жолу, бул капиталдын кереги жок, бирок мен баары бир муну жакшы көрөм. Ошентип, биз теребиз: SET /a variable =%RANDOM%Албетте, бул колдонуучу тарабынан көрсөтүлгөн өзгөрмө эмес, ошондуктан биз /a. Баракелде! Эми биз кокус сандарды кантип чыгарууну билебиз! Бирок бул канчалык кокустук? Көрсө, компьютер 0 менен 37дин тегерегиндеги санды тандайт экен. Мен так санын билбейм. Бирок биз азыраак санды кааласакчы? Бул Нускамада болгондой эле, биз божомолдоо оюну сыяктуу бир нерсе үчүн башкарылуучу номер керек дейли? Ооба, бул жерде IF командасы келет ….

4 -кадам: IF жана GOTO буйруктары. Күч партия жазуучунун колунда

IF жана GOTO буйруктары. Күч партия жазуучунун колунда
IF жана GOTO буйруктары. Күч партия жазуучунун колунда

Ошентип, биз башкарылуучу санды чыгаргыбыз келет. Келгиле, 1ден 20га чейин кокус сандарды чыгаргыбыз келет дейли. Макул, муну айтуу оңой, бирок RANDOM мааниси 1ден 37ге чейинки санды тандайт. IF буйругу негизинен бир нерсе болсо, же бир нерсе барабар болсо, же болбосо барабар болсо, анда муну жасаңыз дейт. Ошентип, IF шарттуу буйруктарды коет. Биз жыйырмадан азыраак, бирок бирден көп санды чыгаргыбыз келет, албетте, биз компьютерге туш келди санды тандоо менен баштайбыз, бирок андан кийин жаңысын тандоо үчүн айта алышыбыз керек. саны, эгер ал тандаган номер биздин талаптарга туура келбесе. Бул жерде GOTO буйругу ишке ашат. GOTO жөн эле компьютерге коддогу белгилүү бир энбелгиге ӨТҮҮНҮ айтат. Энбелгилер мындай көрүнөт:: pickAy эки чекиттен кийин коюлган ар бир сөз биз GOTO буйругу менен кире турган энбелгиге айланат. Ошентип, эгерде биз жогорудагы "тандоо" энбелгиси бар коддун бөлүмүнө өтүүнү кааласак, анда биз жөн гана теребиз: GOTO pickAlright, андыктан кодубузду уланта берели. Биз буга чейин компьютерге туш келди санды тандоо керектигин айтканбыз, ошондуктан биз тердик: SET /a answer =%RANDOM%Эми биз бул санды кичирээк диапазонго түшүрүүнү каалайбыз. Ошентип, биз IF буйругун чакырабыз. Мындай нерсеге амал кылуу керек: ЭГЕР % жооп % GTR 20 GOTO pickБул компьютерге GOTO тандоосун айтат, эгер жооп GReaTer 20ден жогору болсо. Биз бул шарттардын бирин ошол IF командасына коё алабыз: EQU - EqualNEQ - Not EqualLSS - Less ThanGTR - Улуу ThanLEQ - Аз же Бирдей ToGEQ - Улуураак же Барабар ToThus, IF, GOTO, энбелгилер жана бул абревиациялар менен биз өзүбүздүн файлдык файлды каалаган жол менен башкара алабыз. Макул, бизде азыр туш келди саныбыз жыйырмага жетпей калды, жана бизде азырынча эмне бар:: pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pickNow, компьютердин иштебей турганын текшерип көрөлү ' t жооп үчүн 0 териңиз.:pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pickIF $ answer%EQU 0 GOTO pickOkay! Эми бизде 1ден 20га чейин колдонууга жарактуу сан бар. Келгиле, партиянын этине өтөлү.

5 -кадам: Биздин оюндун эти

Биздин оюндун эти
Биздин оюндун эти

Макул, биздин кокус номурубуз бар. Биз дагы оюнчубуздун канча божомолун эсептегибиз келет, ошондуктан башка өзгөрмөнү коёбуз: SET /a guessnum = 0 Бул geussnum өзгөрмөсүн нөлгө коюп, биз ага /a параметрин бердик, ошондуктан биз кошо алабыз колдонуучу болжолдогон сайын. Макул. Бизде туш келди сан бар, биз божомолдордун санын койдук. Эми биз кээ бир көрсөтмөлөргө муктажбыз, жана болжолдуу сан үчүн колдонуучу киргизиши керек. Сиз азырынча мунун көбүн түшүнүшүңүз керек, андыктан мен сизге кодду көрсөтөм:: beginECHO Мен бир сан жөнүндө ойлонуп жатам ECO мен ойлоп жатам …… SET /a GuessNum = 0 (Бул ЭХО бул эки сап жана божомолдордун санын 0 деп коет): pickASET /a Жооп =%RANDOM%IF%Жооп%GTR 20 GOTO pickAIF%Жооп%EQU 0 GOTO pickAECHO Мен 1 менен 20ECOнун ортосундагы санды ойлоп жатам. Мен ойлоп жаткан кандай сан of. (Бул бөлүм биздин кокустук саныбызды орнотмойунча, кийин ECHO биздин оюнчу үчүн көрсөтмөлөрдү берет): RetrySET /p Guess = IF %Guess %LSS %answer %ECHO My Number is Higher. IF %Guess %GTR %answer % ECHO Менин Номерим Төмөн. If%Guess%==%Жооп%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Кайра аракет кылуу (Бул бөлүм компьютерге колдонуучунун киргизүүсүн сурайт, анан колдонуучу тандап алганга чейин үзгүлтүксүз айланат. туура номер. Андан кийин, END деген энбелгиге чыгат): ENDECHO Сиз туура! Жооп %Жооп %ECHO болду %GuessNum %Guesses. ECHO. PAUSECLSECHO кайра ойногуңуз келеби? ECHO Y /N? SET /p play = IF %play %EQU y GOTO баштоо %ойноо %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain (Бул жерде биздин акыркы бөлүмүбүз бар. Бул колдонуучуга канча божомол алганын айтат, анан каалайт белеңиз деп сурайт кайра EQU, GTR жана LSSти тамгалар менен колдоно аларыбызды байкаңыз.) Макул! Эгер сиз бул кодду жөн эле көчүрүп алсаңыз, анда сизде легитимдүү божомол оюну болмок. Чыныгы фантазия эмес, бирок, эй, бул көпчүлүк адамдар жасай алгандан жакшыраак. Бирок биз кызыктуу нерселерди жасоо үчүн бир аз бурулуш кошобуз ….

6 -кадам: Twist

The Twist
The Twist
The Twist
The Twist
The Twist
The Twist

Азыр, бизде азыр иштөөчү оюн бар, бирок биз аны бир аз интерстинг кылгыбыз келет. Биздин оюнчуга туура санды табууга стимул кошуп койсоңуз кандай болот? Кандай дейбиз, эгерде алардын санын билишпесе, компьютерин өчүрүп салалы? Бул абдан сонун болмок! Макул, азыр биз бул өзгөртүүлөрдү киргизүү үчүн бир аз код кошобуз. Биринчиден, биз коддун бөлүмүнө "кайталап көр" деген сапты кошобуз. Андыктан бул бөлүмдү табыңыз. Бул окшош:: RetrySET /p Guess = IF%Guess%LSS%answer%ECHO My Number is Higher. IF%Guess%GTR%answer%ECHO My Number Lower. IF%Guess%==%answer%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO RetryOkay, биз бул сапты "ЭХОдон" кийин дароо кошобуз. (ECHOдон кийин чекит койсок, ал бош сапты калтырат.) Бул жерде жаңы код: IF %GuessNum %EQU 4 GOTO shutdownGБиз бул сапты кошкондо, бөлүм мындай көрүнөт:: RetrySET /p Guess = IF %Guess % LSS%Жооп%ECHO Менин Номерим Жогорку. IF%Ойлоп табуу%GTR%Жооп%ECHO Менин Номерим Төмөн. IF%Ойлон%==%Жооп%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum%EQU 4 GOTO өчүрүүGGOTO RetryBry, азыр бул эмне кылары абдан ачык болушу керек. Бул компьютерге GuessNum EQUals 4 болсо, анда коддун "shutdownG" деп аталган бөлүмүнө өтүшү керектигин айтат. Ошентип, бул өчүрүү бөлүмү эмнени айткысы келет? Ооба, албетте, аны "shutdownG" деп белгилөө керек. Андан кийин, ал компьютерди өчүрүшү керек. Өчүрүү буйругу "SHUTDOWN -s". Бул компьютерди өчүрөт, бирок биз буйрукка айрымдарын кошкубуз келет. Биз "-f" кошобуз. Бул бардык программаларды жабууга мажбур кылат жана биз "-t 60" кошобуз. Бул компьютерге терезени көрсөтүүнү жана жабуу үчүн алтымыш секунд күтүүнү айтат. Биз бул жерге "-c" билдирүүсүн кошобуз "". ал билдирүүнү өчүрүү терезесинде көрсөтөт. Биздин өчүрүү буйругунан кийин, биз жогорудагы кодду колдонобуз, бул биздин оюнчуга сандарды тандоого мүмкүндүк берет жана аларга кайтарым байланышты берет. -c "Божомолдоону улантыңыз! Эгер туура санды билбесеңиз, компьютер өчөт!": shutdownG1SET /p Guess = IF %Guess %LSS %Жооп %ECHO Менин Номерим Жогорку. IF %Guess %GTR %Жооп %ECHO Менин Номерим Төмөн. IF%Ойлоп табыңыз%==%Жооп%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1Эми биз компьютерди SHUTDOWN деп коюп, билдирүүбүздү көрсөтүшүбүз керек, бирок биз аны өчүрүүнү токтотуу үчүн компьютер, эгерде ал башталган болсо. Ошентип, биз муну "end" деп белгиленген коддоо бөлүмүнө кошобуз. Бул бөлүм мындай көрүнөт:: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Сиз туура! Жооп %Жооп %ECHO болду %GuessNum %Guesses. ECHO. PAUSECLSECHO кайра ойногуңуз келеби? ECHO Y /N? SET /p play = IF %play %EQU y GOTO баштоо %ойноо %EQU n GOTO closeIF % play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagainБиз жабууну токтоткубуз келет жана биз муну "SHUTDOWN -a" командасы менен жасайбыз. Ошентип, биз төмөнкүдөй сапты кошобуз: IF % GuessNum % GTR 4 SHUTDOWN -aБиз бул буйрукту энбелгиден кийин кошобуз жана ал компьютерге SHUTDOWN -а командасын ойнотуучу бар болсо гана иштетүүнү айтат. төрттөн ашык божомол жасап, өчүрүүнү баштады. Болуптур! сен азыр оюнду бүтүрүшүң керек! Биз кийинки кадамда мүчүлүштүктөр жок экенине ынанабыз.

7 -кадам: Акыркы кадамдар

Акыркы кадамдар
Акыркы кадамдар

Макул, эгерде сиз ошол коддоонун бардыгын бириктирсеңиз, анда сизде мындай окшош нерселер болот:: beginECHO Мен ойлогон номерди ойлоп жатам ECO Мен ойлоп жатам …… SET /a GuessNum = 0: pickASET / а Жооп =%RANDOM%IF%Жооп%GTR 20 GOTO pickAIF%Жооп%EQU 0 GOTO pickAECHO Мен 1ден 20ECOго чейинки санды ойлонуп жатам. Мен ойлоп жаткан Санды тап.:RetrySET /p Guess = IF%Guess %LSS%Жооп%ECHO Менин Номерим Жогорку. IF%Ойлоп%GTR%Жооп%ECHO Менин Номерим Төмөн. IF%Ойлон%==%Жооп%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum% EQU 4 GOTO shutdownGGOTO Кайталап көрүү: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Сиз туура! Жооп %Жооп %ECHO болду %GuessNum %Guesses. ECHO. PAUSECLSECHO кайра ойногуңуз келеби? play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain: closeECHO Ойногонуңуз үчүн рахмат! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -t 60 -c ! Эгер туура санды таппасаңыз, компьютер өчөт! : ShutdownG1SET /p Guess = IF % Guess % LSS % answer % ECHO My Number is Higher. IF % Guess % GTR % answer % ECHO My Number is Lower. IF%Ойлоп%==%Жооп%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO өчүрүүG1Бизге керектүү нерсенин баары ушундай болуш керекпи? Андыктан, алга жана notessad.txt файлын GuessGame.bat катары сактаңыз. Чынында,.bat аягына койгонуңузча, сиз каалаган нерсеңизди атасаңыз болот. Макул, сөлөкөттү чыкылдатып, программаны иштетиңиз! Иштедиби? Жакшы экен. Бул кызыктай иштерди кылып жатат, туурабы? Көрсө, биз мындай партияны жазганыбызда, биз берген ар бир буйрукту ECHO буйругу, биз аларды буйрук сапына киргизгендей кылып көрсөтөт. Ошентип, оюн иштейт, бирок бул бир аз баш аламан жана түшүнүксүз. Биз бул тууралуу эч нерсе кыла алабызбы? Ооба! Биздин коддун эң башында бул сапты терүү керек: @ECHO OFFБул компьютерге ECHO ӨЧҮРҮҮНҮ айтат. Жана жалынуудагы @ белгиси ар бир буйрук үчүн ECHO ӨЧҮРҮҮНҮ талап кылат. Эгер биз бул @ калтырсак, анда ал ECHOну бир гана буйрукка өчүрөт.

8 -кадам: Баары бүттү

Куттуктайм! Сиз жаңы эле Batch файл оюнун жаздыңыз. Абдан жөнөкөй, туурабы? Эгер сиз муну чече алсаңыз, анда сиз партия файлдары менен бир аз иштөөнү чече аласыз. Жөн эле аны менен ойноп, кээ бир эксперименттерди жасаңыз. Эгерде сиз бир нерсе иштей албасаңыз же мен бул коддоодо бир нерсени таштап койсом, мен сизге файлды бул жерде берем.

Сунушталууда: