Mündəricat:

Toplu Dosyalar: Bəzi Əsaslar ..: 8 Addım
Toplu Dosyalar: Bəzi Əsaslar ..: 8 Addım

Video: Toplu Dosyalar: Bəzi Əsaslar ..: 8 Addım

Video: Toplu Dosyalar: Bəzi Əsaslar ..: 8 Addım
Video: Excel Öyrənmə Dərsləri - Dərs 2 Hesablama Texnikaları və Faizlər - 706| Ömər BAĞCI 2024, Sentyabr
Anonim
Toplu Dosyalar: Bəzi Əsaslar …
Toplu Dosyalar: Bəzi Əsaslar …

Bu Təlimat sizə toplu fayl yazmağın bəzi əsaslarını öyrədəcək və maraqlı şeyləri saxlamaq üçün bir neçə bükülmə ilə bir sıra tahmin oyunu yaratmağı göstərəcək …

Əmr əmr bacarıqlarımın çoxunu və bütün toplu yazılarımı ümumiyyətlə internetdən və xüsusən də Instuctables -dan öyrəndim. Instructables istifadəçisi Neodudeman -a toplu yazı ilə bağlı böyük Təlimatlarına görə təşəkkür etmək istəyirəm. Təşəkkürlər!

Addım 1: Toplu Fayl nədir?

Toplu fayl nədir?
Toplu fayl nədir?

Yaxşı, oxucularımın çoxu yəqin ki, bir toplu faylın nə olduğunu bilir, amma hər halda ….

Bir toplu fayl, toplu iş faylını işlədərkən ardıcıl olaraq yerinə yetirilən MSDOS əmrlərinin toplusudur. Toplu fayllar notepadda.txt faylları olaraq başlayır və.bat uzantılı bir şey olaraq saxladığınız zaman icra olunan fayllara çevrilir. Ümumiyyətlə, etdiyiniz hər şey Notepad -da bir fayl yazmaq və sonra "instruktiv.bat" olaraq qeyd etməkdir.. Bat fayl adının sonuna yerləşdirildikdən sonra gözəl, dişli görünüşlü bir simge ilə adlandırdığınız hər şeyi adlandıran gözəl, yeni bir fayl ortaya çıxacaq. Tamam, indi bu toplu faylların nə olduğunu bildiyimizə görə yazmağa başlayaq!

Addım 2: Əsas əmrlər

Əsas əmrlər
Əsas əmrlər
Əsas əmrlər
Əsas əmrlər
Əsas əmrlər
Əsas əmrlər
Əsas əmrlər
Əsas əmrlər

Tamam, bir neçə əmr öyrənməlisiniz. Əvvəlcə MSDOS əmr satırını açın. Başlanğıc pəncərəsini açın, işə salın, "cmd.exe" yazın və sonra run. Okay düyməsini basın. Əvvəlcə dəyişənlərə baxacağıq. Dəyişənlər (bir qədər açıq şəkildə) dəyişən rəqəmlər, sözlər və ya başqa şeylərdir. Əmr əmrinin dəyişkən bir funksiyası var. TIME, DATE və digərləri kimi əvvəlcədən təyin edilmiş bəzi dəyişənlərə malikdir. Əksər dəyişənləri özünüz təyin edə bilərsiniz. Komanda İstemi pəncərəsinə vurun və yazın: SET dəyişən = təsadüfi "SET" ə böyük hərf yazmağınızın əhəmiyyəti yoxdur, amma bütün əmrlərimi böyük hərflərdən istifadə etmək istəyirəm, xüsusən də toplu iş faylları yazarkən. Sadəcə nə etdiyinizi söyləməyi asanlaşdırır. İndi enter düyməsini basın. Sənin üçün yaxşıdır! İlk dəyişəninizi təyin etdiniz! Amma bununla nə edə bilərik? əlimizdən gələni edə biləcəyimiz dəyişəni düzgün təyin etmək kimə maraqlıdır? Göründüyü kimi, bundan daha çox şey edə bilərik, amma əvvəlcə kompüterin dəyişənin nə kimi qurulduğunu bizə söyləməsinə çalışaq. Tamam, kompüterin bir dəyişənin dəyərini oxumasını təmin etmək üçün, dəyişənin adını, bu halda "dəyişən" yazırıq və adını %işarələrinin içərisinə qoyuruq: %dəyişən %. Davam edin və yazın və daxil edin:%dəyişən%Qəribə səhv? Kompüter dedi ki, "dəyişən" daxili və ya xarici əmr, işləyə bilən proqram və ya toplu fayl kimi tanınmır. " Bəs niyə bu səhvi verdi? Yaxşı, əsasən bu səhv verdi, çünki Komanda İstemi bu dəyişənin dəyərini sanki özünüz yazdığınız kimi qəbul edir. Siz %dəyişən %yazdığınız zaman, kompüter "təsadüfi" əmrini yerinə yetirməyi söylədiyinizi düşünürdü. Aydındır ki, dəyişənimizin dəyərini görmək üçün başqa bir şeyə ehtiyacımız var. ECHO əmrinin gəldiyi yer budur. ECHO əmri sadəcə ECHO -dan sonra yazdığınız hər şeyi söyləməyi və ya söyləməyi əmr edir. Beləliklə, dəyişəndən əvvəl ECHO əmrini yazsaq, istədiyimizi almalıyıq: ECHO %dəyişən %Orada! İndi istədiyimizə sahibik! Kompüter "təsadüfi" yazır. Aydındır ki, bu, dəyişənimiz üçün yazdığımız dəyərdi, buna görə də istədiyimiz nəticə oldu. Növbəti addımda, dəyişənlər və onlardan necə istifadə edə biləcəyimiz haqqında daha çox məlumat əldə edəcəyik.

Addım 3: SET əmrini və dəyişənləri istifadə edin

SET əmrindən və dəyişənlərdən istifadə
SET əmrindən və dəyişənlərdən istifadə
SET əmrindən və dəyişənlərdən istifadə
SET əmrindən və dəyişənlərdən istifadə

Tamam, indi dəyişənlərin nə olduğunu bildiyimiz üçün onlarla başqa nə edə bilərik? Yaxşı, riyaziyyat edə bilərik, onlardan proqramlar və toplu fayllar yazmaq üçün şərtlər kimi istifadə edə bilərik, əsas hesabları yerinə yetirə bilərik, əmrləri icra edə bilərik və s. Dəyişənlərlə edə biləcəyiniz hər şeyə girməyəcəyik, ancaq dəyişən funtionun bəzi vacib cəhətlərini müzakirə edəcəyik. Birincisi, SET əmrinin özü yalnız simli dəyişənlər çıxarır. Bu, başqa bir riyaziyyat əlavə etməyəcəyi və ya etməyəcəyi deməkdir. Kompüterə 1 dəyəri olan bir dəyişənə 1 əlavə etməsini söyləsəniz, bu sizə 1+1 dəyərini verəcəkdir. Əslində iki ədəd əlavə etməsini istəyiriksə, SET əmrindən sonra "/a" qoymalıyıq. Buna görə yazırıq: SET /a varible = (dəyər) İndi, fərz edək ki, istifadəçinin təmin edəcəyi toplu iş faylımıza bir dəyişən qoymaq istəyirik. Dəyərləri bir düstura görə hesablasaydıq və ya istifadəçimizin kompüterin ortaya qoyduğu bir rəqəmi təxmin etməsini istəsək bunu etmək istəyə bilərik. İstifadəçi tərəfindən təyin olunan dəyişən yaratmaq üçün SET əmrindən sonra a /p əlavə edirik və = boşluqdan sonra sahəni tərk edirik: SET /p dəyişən = İşdə gedirsiniz! İstifadəçinin təyin etdiyi dəyişən! Bu xətti bir toplu iş faylına qoysaydıq, partiya bu xəttə çatana qədər işləyərdi və davam etməzdən əvvəl istifadəçi girişini gözləyərdi. /P haqqında digər maraqlı şey, /a -ı tamamilə inkar etməsidir. A /p daxil edərkən yalnız /a buraxa bilərik. Növbəti dəfə təsadüfi dəyişənlər istehsal edəcəyini öyrənəcəyik. Kompüterin bir dəyişən üçün təsadüfi bir ədəd seçməsini istəyiriksə, sadəcə SET əmrini, sonra dəyişəni yazırıq və sonra dəyişəni bərabər %RANDOM %olaraq təyin edirik. Bir daha deyirəm, sərmayə olmaq lazım deyil, amma hər halda bunu etməyi sevirəm. Beləliklə, yazırıq: SET /bir dəyişən =%RANDOM%Aydındır ki, bu istifadəçi tərəfindən təyin edilmiş bir dəyişən deyil, buna görə də /a daxil edirik. Sərin! İndi təsadüfi bir ədəd necə istehsal edəcəyimizi bilirik! Amma nə qədər təsadüfi? Belə çıxır ki, kompüter 0 ilə təxminən 37.000 arasında bir rəqəm seçir. Dəqiq rəqəmin nə olduğunu bilmirəm. Ancaq daha kiçik bir rəqəm istəsək nə olar? Tutaq ki, bu Təlimatlandırmada olduğu kimi, bir tahmin oyunu kimi bir şey üçün idarə edilə bilən bir rəqəm istəyirik? IF əmrinin gəldiyi yer budur ….

Addım 4: IF və GOTO əmrləri. Partiya Yazıçısının Əlində Güc

IF və GOTO əmrləri. Partiya Yazıçısının Əlində Güc
IF və GOTO əmrləri. Partiya Yazıçısının Əlində Güc

Beləliklə, idarə edilə bilən bir nömrə istehsal etmək istəyirik. Tutaq ki, 1 ilə 20 arasında təsadüfi bir ədəd çıxarmaq istəyirik. Tamam, bunu söyləmək asandır, lakin RANDOM dəyəri 1 ilə 37 000 arasında bir rəqəm seçir. IF üçün istifadə edəcəyimiz budur. IF əmri əsasən bir şey baş verərsə və ya bir şey müəyyən bir dəyərə bərabərdirsə və ya bərabər deyilsə, bunu edin. Beləliklə, IF şərti əmrlər təyin edir. İyirmidən az, lakin birdən çox olan bir rəqəm istehsal etmək istəyirik, aydındır ki, kompüterə təsadüfi bir rəqəm seçməyi söyləməyə başlayacağıq, amma sonra yeni bir seçim etməyi söyləməyi bacarmalıyıq. seçdiyi nömrə tələblərimizə uyğun gəlmirsə nömrə. GOTO əmrinin gəldiyi yer budur. GOTO sadəcə kompüterə koddakı müəyyən bir etiketə keçməsini bildirir. Etiketlər belə görünür:: pickAnd hər iki sözdən sonra GOTO əmri ilə daxil ola biləcəyimiz bir etiket olur. Beləliklə, yuxarıdakı "seç" etiketi olan kod bölməsinə keçmək istəsək, sadəcə yazırıq: GOTO pickAlright, buna görə də kodlamamıza davam edək. Biz artıq kompüterə təsadüfi bir rəqəm seçməsini söyləmişik, buna görə yazdıq: SET /a cavab =%RANDOM%İndi bu rəqəmi daha kiçik bir aralığa çəkmək istəyirik. Beləliklə, IF əmrini çağıracağıq. Bənzər bir şey hiylə işlətməlidir: IF % cavab % GTR 20 GOTO pickBu kompüterə GOTO seçimini bildirir, əgər cavab GReaTer 20 -dən çox olarsa, bu şərtlərdən hər hansı birini IF əmrinə qoya bilərik: EQU - EqualNEQ - Not EqualLSS - Az ThanGTR - Böyük ThanLEQ - Daha Az və ya Bərabər ToGEQ - Daha Böyük və ya Bərabərdir, IF, GOTO, etiketlər və bu abreviasiyalarla toplu faylımızı seçdiyimiz hər hansı bir şəkildə idarə edə bilərik. Tamam, indi təsadüfi sayımızı iyirmi yaşın altındayıq və bu günə qədər əldə etdiyimiz budur:: pickSET /a answer =%RANDOM%IF%answer%GTR 20 GOTO pickNow, kompüterin işləmədiyinə əmin olun t cavab üçün 0 seçin.: seçinSET /bir cavab =%RANDOM%IF%cavab%GTR 20 GOTO pickIF $ cavab%EQU 0 GOTO pickOkay! İndi 1 ilə 20 arasında istifadə edilə bilən bir rəqəmimiz var. Gəlin Partiyanın ətinə keçək.

Addım 5: Oyunumuzun Əti

Oyunumuzun Əti
Oyunumuzun Əti

Tamam, təsadüfi nömrəmiz var. Oyunçumuzun nə qədər təxmin etdiyini də hesablamaq istəyirik, buna görə başqa bir dəyişən təyin edəcəyik: SET /a guessnum = 0Bu geussnum dəyişənini sıfıra qoyur və ona /a parametri verdik, buna görə əlavə edə biləcəyik. İstifadəçi hər dəfə bunu təxmin etdikdə. Tamam. Təsadüfi bir rəqəmimiz var və təxminlərin sayını təyin etdik. İndi bəzi təlimatlara ehtiyacımız var və təxmin nömrəsi üçün bir neçə istifadəçi girişinə sahib olmalıyıq. Bunun çoxunu indiyə qədər başa düşməlisiniz, buna görə sizə kodu göstərəcəyəm:: beginECHO Düşündüyüm ECHO haqqında düşünəcəyəm …… SET /a GuessNum = 0 (Bu ECHOs bu iki sətirdir və tahmin sayını 0 olaraq təyin edir): pickASET /a Cavab =%RANDOM%IF%Cavab%GTR 20 GOTO pickAIF%Cavab%EQU 0 GOTO seçmə of. (Bu bölmə təsadüfi sayımızı təyin edənə qədər, sonra isə oyunçumuz üçün təlimatları ECHO edənə qədər): Yenidən SIRA /p Guess = IF %Guess %LSS %Cavab %ECHO Mənim Nömrəm Daha Yüksəkdir. İF %Guess %GTR %Cavab % ECHO Mənim Nömrəm Aşağıdır. İF%Guess%==%Cavab%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Yenidən Təkrar Et (Bu hissə kompüterə istifadəçi girişi istəməsini bildirir və sonra istifadəçi seçənə qədər fasiləsiz dönər. Doğru nömrə. Sonra, END etiketinə GEÇİR): ENDECHO Doğrusunuz! Cavab %Cavab %ECHO idi %GuessNum %Guesses. ECHO. PAUSECLSECHO Yenidən oynamaq istərdinizmi? ECHO Y /N? SET /p play = IF %play %EQU y GOTO startIF %play %EQU n GOTO closeIF % oynamaq% GTR y GOTO playagainIF oynamaq% oynamaq Yenidən oynamaq üçün. EQU, GTR və LSS -ni hərflərlə də istifadə edə biləcəyimizə diqqət yetirin.) Tamam! Sadəcə bu kodu kopyalasaydınız, qanuni bir tahmin oyununuz olardı. Əsl fantaziya deyil, amma hey, insanların çoxunun edə biləcəyindən daha yaxşıdır. Ancaq hər şeyi maraqlı etmək üçün bir az bükülmə əlavə edəcəyik ….

Addım 6: Twist

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

Hal -hazırda işləyən bir oyunumuz var, amma bunu bir az daha qarışıq etmək istəyirik. Oyunçumuzun doğru nömrəni tapması üçün bir stimul əlavə etməyiniz necə olar? Necə edək ki, bir şey edək.. sayını təxmin etməsələr kompüterlərini bağlayaq? Bu olduqca sərin olardı! Tamam, indi bu dəyişiklikləri etmək üçün bir az kod əlavə edəcəyik. Əvvəlcə kodun "yenidən cəhd et" etiketli hissəsinə bir xətt əlavə edəcəyik. Beləliklə, bu bölməni tapın. Belə görünür:: Yenidən SAYI /p Guess = IF%Guess%LSS%Cavab%ECHO Mənim Nömrəm Daha Yüksəkdir. İF%Guess%GTR%Cavab%ECHO Mənim Nömrəm Aşağıdır. İF%Guess%==%Cavab%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO RetryOkay, bu xətti "ECHO" dan dərhal sonra əlavə edəcəyik. (ECHO -dan sonra bir nöqtə qoyduqda boş bir sətir qoyur.) Yeni kod budur: IF %GuessNum %EQU 4 GOTO shutdownGBu xətti əlavə etdikdə bölmə belə görünür: RetrySET /p Guess = IF %Guess % LSS%Cavab%ECHO Mənim Nömrəm Yüksəkdir. İF%Guess%GTR%Cavab%ECHO Mənim Nömrəm Aşağıdır. İF%Guess%==%Cavab%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum%EQU 4 GOTO bağlama Kompüterə GuessNum EQUals 4 olarsa, kodun "shutdownG" etiketli hissəsinə keçməli olduğunu bildirir. Yaxşı, bu bağlama bölməsinin nə deməsini istəyirik? Aydındır ki, "shutdownG" olaraq etiketlənməlidir. Bundan sonra, kompüteri bağlamaq lazımdır. Bağlamaq əmri "SHUTDOWN -s" dir. Bu kompüteri bağlayacaq, amma bəzi əmrləri əlavə etmək istəyirik. Bir "-f" əlavə edəcəyik. Bu, bütün proqramları bağlamağa məcbur edəcək və biz "-t 60" əlavə edəcəyik. Bu, kompüterə bir pəncərə göstərməsini və bağlanması üçün altmış saniyə gözləməsini söyləyəcək. Buraya "-c" mesajı da əlavə edəcəyik "". bağlama pəncərəsində bir mesaj göstərəcəkdir. Bağlama əmrimizdən sonra, oyunçumuzun nömrələri seçməsinə və onlara rəy verməsinə imkan verən, yuxarıdakı kodla eyni şəkildə məşğul olacağıq. Beləliklə, bağlama kodumuz indi belə görünür:: shutdownGSHUTDOWN -s -f -t 60 -c "Tahmin etməyə davam edin! Doğru sayını təxmin etməsəniz, kompüter bağlanacaq!": shutdownG1SET /p Guess = IF %Guess %LSS %Cavab %ECHO Mənim Nömrəm Daha Yüksəkdir. % %Guess %GTR %Cavab %ECHO Mənim Nömrəm Lower. IF%Guess%==%Cavab%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1İndi kompüteri KAPALI vəziyyətə qoyduq və bir mesaj göstərdik, ancaq bunu da bildirməliyik. Başlatılmışsa, kompüteri dayandırmağı dayandırın. Beləliklə, bunu "end" etiketli kodlaşdırma hissəsinə əlavə edəcəyik. Bu bölmə belə görünür:: ENDIF % GuessNum % GTR 4 SHUTDOWN -aECHO Düzgünsən! Cavab %Cavab %ECHO oldu %GuessNum %Guesses. ECHO. PAUSECLSECHO Yenidən oynamaq istərdinizmi? ECHO Y /N? SET /p play = IF %play %EQU y GOTO startIF %play %EQU n GOTO closeIF % oynamaq% GTR y GOTO playagainIF oynamaq% oynamaq Beləliklə, belə bir xətti əlavə edəcəyik: IF % GuessNum % GTR 4 SHUTDOWN -a -Bu əmri etiketdən dərhal sonra əlavə edəcəyik və bu kompüterə yalnız oyunçu varsa SHUTDOWN -a əmrini yerinə yetirməsini bildirəcək. dörddən çox təxmin etdi və bağlanmağa başladı. Tamam! oyununuzu indi bitirməlisiniz! Növbəti addımda heç bir səhv olmadığından əmin olacağıq.

Addım 7: Son addımlar

Son addımlar
Son addımlar

Tamam, indi bütün bu kodlamaları bir araya gətirsəniz, belə bir şeyə sahib olacaqsınız:: beginECHO Düşündüyüm ECHO haqqında düşünəcəyəm….. SET /a GuessNum = 0: pickASET / a Cavab =%RANDOM%IF%Cavab%GTR 20 GOTO pickAIF%Cavab%EQU 0 GOTO pickAECHO 1 ilə 20ECHO aralığında bir ədəd düşünürəm Hansı Nömrəni Düşündüyümü Bilin.:RetrySET /p Guess = IF%Guess %LSS%Cavab%ECHO Mənim Nömrəm Yüksəkdir. İF%Guess%GTR%Cavab%ECHO Mənim Nömrəm Lower. IF%Guess%==%Cavab%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1IF%GuessNum% EQU 4 GOTO bağlama Cavab %Cavab %ECHO oldu %GuessNum %Guesses. ECHO. PAUSECLSECHO Yenidən oynamaq istərdinizmi? ECHO Y /N? SET /p play = IF %play %EQU y GOTO startIF %play %EQU n GOTO closeIF % oynamaq% GTR y GOTO playagainIF oynamaq% LSS y GOTO playagainIF% oynamaq% GTR n GOTO playagainIF% oynamaq% LSS n GOTO playagain: closeECHO Oynadığınız üçün təşəkkür edirik! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -t 60 -c "Tahmin etməyə davam edin ! Doğru sayını təxmin etməsəniz, kompüter bağlanacaq! ": ShutdownG1SET /p Guess = IF % Guess % LSS % Cavab % ECHO Mənim Nömrəm Daha Yüksəkdir. İF % Guess % GTR % Cavab % ECHO Mənim Nömrəmdir Lower. IF%Guess%==%Cavab%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO shutdownG1Bu bizə lazım olan hər şey olmalıdır? Beləliklə, davam edin və sahib olduğunuz notepad.txt faylını GuessGame.bat olaraq qeyd edin. Əslində.bat -ı sonuna qoyduğunuz müddətcə istədiyinizə ad verə bilərsiniz. Yaxşı, simvolu vurun və proqramı işə salın! İşlədi? Yaxşı. Qəribə şeylər edir, elə deyilmi? Məlum olur ki, belə bir toplu yazanda, əmr istəyi ECHO -ya verdiyimiz hər əmri, sanki onları əmr satırına yazmışıq. Beləliklə, oyun işləyir, amma bir az qarışıq və aydın deyil. Bu barədə bir şey edə bilərikmi? Bəli! Etməyimiz lazım olan şey kodumuzun ən başlanğıcında bu sətri yazmaqdır: @ECHO OFFBu kompüterə ECHO -nu söndürməsini bildirir. Və yalvarışdakı @ işarəsi, hər bir əmr üçün ECHO -nu söndürməsini bildirir. Bu @ -u tərk etsək, yalnız bir əmr üçün ECHO -nu söndürərdi.

Addım 8: Hər şey bitdi

Təbrik edirik! Bayaq bir Batch fayl oyunu yazmısınız. Çox sadə, elə deyilmi? Bunun öhdəsindən gələ bilsəniz, Batch faylları ilə bir az necə edəcəyinizi anlaya bilərsiniz. Yalnız onunla oynayın, bəzi təcrübələr edin. İşləmək üçün bir şey əldə edə bilməməyiniz və ya kodlaşdırmada bir şey buraxmağım halında, faylı burada verəcəyəm.

Tövsiyə: