İçindekiler:

Toplu Dosyalar: Bazı Temel Bilgiler..: 8 Adım
Toplu Dosyalar: Bazı Temel Bilgiler..: 8 Adım

Video: Toplu Dosyalar: Bazı Temel Bilgiler..: 8 Adım

Video: Toplu Dosyalar: Bazı Temel Bilgiler..: 8 Adım
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu 2024, Kasım
Anonim
Toplu İş Dosyaları: Bazı Temel Bilgiler….
Toplu İş Dosyaları: Bazı Temel Bilgiler….

Bu Eğitilebilir Kitap size toplu iş dosyaları yazmanın bazı temellerini öğretecek ve sadece işleri ilginç tutmak için birkaç bükülme ile bir sayı tahmin oyununun nasıl oluşturulacağını gösterecek…

Komut istemi becerilerimin çoğunu ve toplu yazı yazmamın tamamını genel olarak internetten ve özellikle Instuctables'tan öğrendim. Instructables kullanıcısı Neodudeman'a toplu yazma konusundaki harika Instructable'ları için teşekkür etmek istiyorum. Teşekkürler!

Adım 1: Toplu Dosya Nedir?

Toplu Dosya Nedir?
Toplu Dosya Nedir?

Pekala, okuyucularımın çoğu muhtemelen bir toplu iş dosyasının ne olduğunu zaten biliyor, ama her ihtimale karşı….

Toplu iş dosyası, toplu iş dosyasını çalıştırdığınızda sırayla yürütülen MSDOS komutlarının basit bir koleksiyonudur (toplu iş). Toplu iş dosyaları, not defterinde.txt dosyaları olarak başlar ve bunları.bat uzantılı bir şey olarak kaydettiğinizde yürütülebilir dosyalar haline gelir. Temel olarak, tek yapmanız gereken Not Defteri'ne bir dosya yazmak ve ardından onu "instructable.bat" olarak kaydetmek..bat dosya adının sonuna yerleştirildiğinde, güzel, dişli görünümlü bir simgeyle, adını ne koyduysanız adlı güzel, yeni bir dosya görünecektir. Pekala, artık bu toplu iş dosyalarının ne olduğunu bildiğimize göre, yazmaya başlayalım!

Adım 2: Temel Komutlar

Temel Komutlar
Temel Komutlar
Temel Komutlar
Temel Komutlar
Temel Komutlar
Temel Komutlar
Temel Komutlar
Temel Komutlar

Pekala, birkaç komut öğrenmen gerekecek. İlk olarak, MSDOS komut istemini açın. Başlat penceresini açın, çalıştır'a tıklayın, "cmd.exe" yazın ve ardından çalıştır'a tıklayın. Tamam. İlk olarak, değişkenlere bakacağız. Değişkenler, (biraz açık bir şekilde) değişen sayılar, kelimeler veya diğer şeylerdir. Komut İstemi değişken bir işleve sahiptir. TIME, DATE ve diğerleri gibi önceden ayarlanmış bazı değişkenlere sahiptir. Ancak çoğu değişkeni kendiniz ayarlayabilirsiniz. Komut İstemi penceresine tıklayın ve şunu yazın:SET değişkeni=random"SET"i büyük harf yapıp yapmamanız gerçekten önemli değil, ancak tüm komutlarımda özellikle toplu iş dosyaları yazarken büyük harf kullanmayı seviyorum. Sadece ne yaptığınızı söylemeyi kolaylaştırır. Şimdi enter tuşuna basın. Aferin sana! İlk değişkeninizi ayarladınız! Ama onunla ne yapabiliriz? Tek yapabileceğimiz değişkeni doğru ayarlamak kimin umurunda? Görünen o ki, bundan çok daha fazlasını yapabiliriz, ama önce, bilgisayarın bize değişkenin ne olduğunu söylemesini sağlamaya çalışalım. Tamam, bilgisayarın bir değişkenin değerini okumasını sağlamak için, değişkenin adını, bu durumda "değişken" yazıp, adını % işaretlerinin içine şöyle koyuyoruz: %variable%. Devam edin ve şunu yazın ve enter tuşuna basın:%variable%Garip hata ha? Bilgisayar, "'değişkenin' dahili veya harici bir komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmadığını söyledi." Peki neden bu hatayı verdi? Temel olarak, bu hatayı verdi çünkü Komut İstemi, o değişkenin değerini kendiniz yazmışsınız gibi değerlendiriyor. Yani %variable% yazdığınızda, bilgisayar ona "rastgele" komutunu çalıştırmasını söylediğinizi düşündü. Açıkçası, değişkenimizin değerini görmek için başka bir şeye ihtiyacımız var. ECHO komutunun devreye girdiği yer burasıdır. ECHO komutu, Komut İstemine ECHO'dan sonra yazdığınız her şeyi yankılanmasını veya söylemesini söyler. Yani değişkenimizin önüne ECHO komutunu yazarsak istediğimizi elde ederiz:ECHO %variable%İşte! Şimdi istediğimizi aldık! Bilgisayar "rastgele" yazdırır. Açıkçası, değişkenimiz için yazdığımız değer buydu, yani istediğimiz sonuç buydu. Bir sonraki adımda, değişkenler ve bunları nasıl kullanabileceğimiz hakkında daha fazla bilgi edineceğiz.

Adım 3: SET Komutunu ve Değişkenlerini Kullanma

SET Komutunu ve Değişkenlerini Kullanma
SET Komutunu ve Değişkenlerini Kullanma
SET Komutunu ve Değişkenlerini Kullanma
SET Komutunu ve Değişkenlerini Kullanma

Pekala, artık değişkenlerin ne olduğunu bildiğimize göre, onlarla başka ne yapabiliriz? Matematik yapabiliriz, bunları program ve toplu iş dosyaları yazmak için koşul olarak kullanabiliriz, temel aritmetik yapabiliriz, komutları çalıştırabiliriz ve çok daha fazlasını yapabiliriz. Değişkenlerle yapabileceğiniz her şeye girmeyeceğiz, ancak işlev değişkeninin bazı önemli yönlerini tartışacağız. İlk olarak, SET komutu kendi başına yalnızca dize değişkenleri üretir. Bu, başka bir matematik eklemeyeceği veya yapmayacağı anlamına gelir. Bilgisayara 1 değerinde bir değişkene 1 eklemesini söyleseydiniz, size 1+1 değerini verirdi. Aslında iki sayıyı toplamasını istiyorsak, SET komutundan sonra bir "/a" koymamız gerekir. Bunun için şunu yazıyoruz:SET /a değişken=(değer)Şimdi toplu iş dosyamıza kullanıcının sağlayacağı bir değişken koymak istediğimizi varsayalım. Değerleri bir formüle göre hesaplıyorsak veya bizim durumumuzda kullanıcının bilgisayarın bulduğu bir sayıyı tahmin etmesini istiyorsak bunu yapmak isteyebiliriz. Kullanıcı tanımlı bir değişken oluşturmak için, SET komutundan sonra bir /p ekliyoruz ve alanı = boş:SET /p değişkeni=İşte başlıyoruz! Kullanıcı tarafından belirlenen bir değişken! Bu satırı bir toplu iş dosyasına koyacak olsaydık, toplu iş bu satıra ulaşana kadar çalışır ve devam etmeden önce kullanıcı girdisini beklerdi. /p ile ilgili diğer güzel şey, /a'yı tamamen reddetmesidir. a /p eklediğimizde /a'yı atlayabiliriz. Bundan sonra öğreneceğimiz şey rastgele değişkenler üretmek. Bilgisayarın bir değişken için rastgele bir sayı seçmesini istiyorsak, sadece SET komutunu, ardından değişkeni yazıp, değişkeni %RANDOM% değerine eşit olarak ayarlarız. Bir kez daha, sermaye olması gerekmiyor, ama yine de yapmayı seviyorum. Bu yüzden şunu yazıyoruz:SET /a değişken=%RANDOM%Açıkçası, bu kullanıcı tarafından belirlenen bir değişken değil, dolayısıyla /a'yı dahil ediyoruz. Güzel! Artık rastgele bir sayının nasıl üretileceğini biliyoruz! Ama ne kadar rastgele? Bilgisayarın 0 ile 37.000 arasında bir sayı seçtiği ortaya çıktı. Tam sayının ne olduğundan emin değilim. Ama ya daha küçük bir sayı istiyorsak? Bu Eğitilebilir Kitapta olduğu gibi, tahmin oyunu gibi bir şey için yönetilebilir bir sayı istediğimizi varsayalım. İşte burada IF komutu devreye giriyor….

Adım 4: IF ve GOTO Komutları. Toplu Yazarın Ellerinde Güç

IF ve GOTO Komutları. Toplu Yazarın Ellerinde Güç
IF ve GOTO Komutları. Toplu Yazarın Ellerinde Güç

Yani, yönetilebilir bir sayı üretmek istiyoruz. Diyelim ki 1 ile 20 arasında rastgele bir sayı üretmek istiyoruz. Tamam, söylemesi kolay ama RANDOM değeri 1 ile 37.000 arasında bir sayı seçer. EĞER'i bunun için kullanacağız. EĞER komutu temel olarak EĞER bir şey olursa veya bir şey belirli bir değere eşitse veya eşit değilse, SONRA BU YAPIN diyor. Yani, IF koşullu komutları ayarlar. Yirmiden küçük ama birden büyük bir sayı üretmek istiyoruz, belli ki bilgisayara rastgele bir sayı seçmesini söyleyerek başlayacağız, ancak daha sonra ona yeni bir sayı seçmesini söyleyebilmemiz gerekecek. seçtiği numara gereksinimlerimize uymuyorsa. GOTO komutunun devreye girdiği yer burasıdır. GOTO, bilgisayara koddaki belirli bir etikete GİTmesini söyler. Etiketler şöyle görünür::pick İki nokta üst üste işaretinden sonra yerleştirilen herhangi bir kelime, GOTO komutuyla erişebileceğimiz bir etiket haline gelir. Yani, kodun üzerinde "pick" etiketi olan bölüme gitmek istiyorsak, basitçe:GOTO pickAlright yazıyoruz, o halde kodlamamıza devam edelim. Bilgisayara rastgele bir sayı seçmesini zaten söyledik, bu yüzden şunu yazdık:SET /a answer=%RANDOM%Şimdi bu sayıyı daha küçük bir aralığa çekmek istiyoruz. Böylece IF komutunu çağıracağız. Bunun gibi bir şey işe yaramalı:IF %answer% GTR 20 GOTO seçimBu, bilgisayara, yanıt 20'den BÜYÜK ise SEÇİM YAPMASINI söyler. Bu koşullardan herhangi birini bu IF komutuna da koyabiliriz:EQU - EqualNEQ - EqualLSS Değil - Less ThanGTR - Greater ThanLEQ - Less Than or Equal ToGEQ - Great Than or Equal ToThus, IF, GOTO, etiketler ve bu kısaltmalar ile toplu iş dosyamızı istediğimiz gibi değiştirebiliriz. Tamam, şimdi rastgele sayımız yirminin altında ve şu ana kadar elde ettiklerimiz::pickSET /a answer=%RANDOM%IF %answer% GTR 20 GOTO pickNow, bilgisayarın " cevap için 0'ı seçin.:pickSET /a answer=%RANDOM%IF %answer% GTR 20 GOTO pickIF $answer% EQU 0 GOTO pickOkay! Şimdi elimizde 1 ile 20 arasında kullanılabilir bir sayı var. Batch'ın etine geçelim.

Adım 5: Oyunumuzun Eti

Oyunumuzun Eti
Oyunumuzun Eti

Pekala, rastgele numaramızı aldık. Ayrıca oyuncumuzun kaç tahmin yaptığını da saymak istiyoruz, bu yüzden başka bir değişken ayarlayacağız:SET /a tahmin sayısı=0Bu, geussnum değişkenini sıfıra ayarlar ve ona /a parametresini verdik, böylece ekleyebileceğiz kullanıcı her tahmin ettiğinde ona. Tamam. Rastgele bir numaramız var ve tahmin sayısını belirledik. Şimdi bazı talimatlara ihtiyacımız var ve tahmin numarası için bazı kullanıcı girdilerine ihtiyacımız var. Şimdiye kadar bunların çoğunu anlamalısınız, bu yüzden size sadece kodu göstereceğim::beginECHO Bir sayı düşüneceğim ECHO Düşünüyorum….. SET /a GuessNum=0(Bu ECHO bu iki satırı ve tahmin sayısını 0 olarak ayarlar):pickASET /a Cevap=%RANDOM%IF %Answer% GTR 20 GOTO pickAIF %Answer% EQU 0 GOTO pickAECHO 1 ile 20ECHO arasında bir sayı düşünüyorum Tahmin et hangi sayıyı düşünüyorum of.(Bu bölüm rastgele sayımızı AYARlayana kadar döngü yapar ve ardından oynatıcımız için talimatları ECHO yapar):RetrySET /p Guess=IF %Guess% LSS %Answer% ECHO My Number is Higher. IF %Guess% GTR %Answer% ECHO Numaram Düşük. IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO Retry(Bu bölüm bilgisayara kullanıcı girişi istemesini söyler ve ardından kullanıcı seçene kadar sürekli olarak döner. doğru numara O zaman, SON etiketine GİDER):ENDECHO Haklısınız! Cevap %Answer%ECHO idi %GuessNum% Tahminler aldı. ECHO. PAUSECLSECHO Tekrar oynamak ister misiniz?ECHO Y/N?SET /p play=IF %play% EQU y GOTO startIF %play% EQU n GOTO closeIF % play% GTR y GOTO playagainIF %play% LSS y GOTO playagainIF %play% GTR n GOTO playagainIF %play% LSS n GOTO playagain(İşte son bölümümüz. Bu, kullanıcıya kaç tahmin yaptığını söyler ve ardından isteyip istemediklerini sorar. EQU, GTR ve LSS'yi harflerle de kullanabileceğimize dikkat edin.)Tamam! Bu kodu basitçe kopyalarsanız, meşru bir tahmin oyununuz olur. Gerçek fantezi değil, ama hey, çoğu insanın yapabileceğinden daha iyi. Ama sadece işleri ilginç hale getirmek için küçük bir bükülme ekleyeceğiz….

Adım 6: Büküm

Büküm
Büküm
Büküm
Büküm
Büküm
Büküm

Şu anda çalışan bir oyunumuz var ama biraz daha ilginç hale getirmek istiyoruz. Oyuncumuzun doğru sayıyı tahmin etmesi için biraz teşvik eklemeye ne dersiniz? Numarayı tahmin etmezlerse bilgisayarlarını kapatma gibi bir şey yapsak nasıl olur? Bu çok güzel olurdu! Tamam, şimdi bu değişiklikleri yapmak için küçük bir kod ekleyeceğiz. İlk olarak, kodun "retry" olarak etiketlediğimiz bölümüne bir satır ekleyeceğiz. O zaman git o bölümü bul. Şuna benziyor::RetrySET /p Tahmin=IF %Guess% LSS %Answer% ECHO Numaram Yüksek. IF %Guess% GTR %Answer% ECHO Numaram Düşük. IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO RetryTamam, bu satırı "ECHO"dan hemen sonra ekleyeceğiz. (ECHO'dan sonra nokta koyduğumuzda boş bir satır bırakıyor.) İşte yeni kod:IF %GuessNum% EQU 4 GOTO kapatmaGBu satırı eklediğimizde bölüm şu şekilde görünüyor::RetrySET /p Tahmin=IF %Guess% LSS %Answer% ECHO Numaram Yüksek. IF %Guess% GTR %Answer% ECHO Numaram Düşük. IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1IF %GuessNum% EQU 4 GOTO kapatmaGGOTO Yeniden dene Şimdi, bunun ne yaptığı oldukça açık olmalı. Bilgisayara, GuessNum EQUals 4 ise, kodun "shutdownG" etiketli bölümüne gitmesi gerektiğini söyler. Peki, bu kapatma bölümünün ne demesini istiyoruz? Açıkçası, "shutdownG" olarak etiketlenmesi gerekiyor. Ardından, bilgisayarı kapatması gerekir. Kapatma komutu "SHUTDOWN -s" dir. Bu, bilgisayarı kapatacak, ancak komuta biraz eklemek istiyoruz. Bir "-f" ekleyeceğiz. Bu, tüm programları kapanmaya zorlayacak ve bir "-t 60" ekleyeceğiz. Bu, bilgisayara bir pencere görüntülemesini ve kapanması için altmış saniye beklemesini söyleyecektir. Ayrıca "-c "mesajı buraya" ekleyeceğiz. hangi kapatma penceresinde bir mesaj görüntüler. Kapatma komutumuzdan sonra, yukarıda sahip olduğumuz kodun aynısını, oyuncumuzun sayıları seçmesine izin veren ve onlara geri bildirim veren kodun üzerine gideceğiz. -c "Tahmin etmeye devam edin! Doğru sayıyı tahmin etmezseniz, bilgisayar kapanacaktır!":shutdownG1SET /p Guess=IF %Guess% LSS %Answer% ECHO Numaram Daha Yüksek. IF %Guess% GTR %Answer % ECHO Numaram Düşük. IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO kapatmaG1Şimdi bilgisayarı KAPATMA'ya ayarladık ve bir mesaj görüntülüyoruz, ancak şunu da söylememiz gerekiyor. başlatılmışsa, bilgisayar kapatmayı durdurmak için. Bu yüzden, bunu "end" etiketli kodlama bölümüne ekleyeceğiz. Bu bölüm şöyle görünüyor::ENDIF %GuessNum% GTR 4 SHUTDOWN -aECHO Haklısınız! Cevap %Answer%ECHO idi %GuessNum% Tahminler aldı. ECHO. PAUSECLSECHO Tekrar oynamak ister misiniz?ECHO Y/N?SET /p play=IF %play% EQU y GOTO startIF %play% EQU n GOTO closeIF % play% GTR y GOTO playagainIF %play% LSS y GOTO playagainIF %play% GTR n GOTO playagainIF %play% LSS n GOTO playagainKapamayı durdurmak istiyoruz ve bunu "SHUTDOWN -a" komutuyla yapıyoruz. Böylece, şuna benzer bir satır ekleyeceğiz:IF %GuessNum% GTR 4 SHUTDOWN -aBu komutu etiketin hemen arkasına ekleyeceğiz ve bu, bilgisayara SHUTDOWN -a komutunu yalnızca oynatıcının dörtten fazla tahminde bulundu ve bir kapatma başlattı. Peki! oyununu şimdi bitirmiş olmalısın! Bir sonraki adımda herhangi bir hata olmadığından emin olacağız.

7. Adım: Son Adımlar

Son Adımlar
Son Adımlar

Tamam, şimdi tüm bu kodlamayı bir araya getirdiyseniz, şuna benzer bir şeye sahip olacaksınız::beginECHO Bir sayı düşüneceğimECHO Düşünüyorum….. SET /a GuessNum=0:pickASET / a Answer=%RANDOM%IF %Answer% GTR 20 GOTO pickAIF %Answer% EQU 0 GOTO pickAECHO 1 ile 20ECHO arasında bir sayı düşünüyorum. Tahmin et Hangi Sayıyı düşünüyorum.:RetrySET /p Tahmin=IF %Guess % LSS %Answer% ECHO Numaram Yüksek. IF %Guess% GTR %Answer% ECHO Numaram Düşük. IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1IF %GuessNum% EQU 4 GOTO kapatmaGGOTO Yeniden Dene:ENDIF %GuessNum% GTR 4 SHUTDOWN -aECHO Haklısınız! Cevap %Answer%ECHO idi %GuessNum% Tahminler aldı. ECHO. PAUSECLSECHO Tekrar oynamak ister misiniz?ECHO Y/N?SET /p play=IF %play% EQU y GOTO startIF %play% EQU n GOTO closeIF % play% GTR y GOTO playagainIF %play% LSS y GOTO playagainIF %play% GTR n GOTO playagainIF %play% LSS n GOTO playagain:closeECHO Oynadığınız için teşekkür ederiz!PAUSEEXIT cmd:shutdownGSHUTDOWN -s -f -t 60 -c "Tahmin etmeye devam edin !Doğru sayıyı tahmin edemezseniz, bilgisayar kapanacaktır!":shutdownG1SET /p Guess=IF %Guess% LSS %Answer% ECHO Numaram Daha Yüksek. IF %Guess% GTR %Answer% ECHO Numaram Lower. IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO kapatmaG1İhtiyacımız olan her şey bu olmalı değil mi? Öyleyse devam edin ve sahip olduğunuz not defteri.txt dosyasını GuessGame.bat olarak kaydedin. Aslında, sonuna.bat koyduğun sürece onu istediğin gibi adlandırabilirsin. Tamam, simgeye tıklayın ve programı çalıştırın! İşe yaradı mı? Pekala. Garip şeyler yapıyor değil mi? Bunun gibi bir Batch yazdığımızda, komut isteminin, sanki komut istemine yazmışız gibi, verdiğimiz her komutu ECHO'ya çevirdiği ortaya çıktı. Yani oyun çalışıyor ama biraz dağınık ve belirsiz. Bu konuda bir şey yapabilir miyiz? Evet! Tek yapmamız gereken, kodumuzun en başına şu satırı yazmaktır:@ECHO OFFBu, bilgisayara ECHO'yu KAPALI duruma getirmesini söyler. Ve yalvarmadaki @ işareti ona her komut için ECHO'yu KAPALI duruma getirmesini söyler. @ öğesini dışarıda bırakırsak, ECHO'yu yalnızca bir komut için KAPALI duruma getirir.

Adım 8: Her Şey Bitti

Tebrikler! Az önce bir Batch dosya oyunu yazdınız. Oldukça basit değil mi? Bunu halledebilirseniz, Batch dosyalarıyla biraz nasıl yapacağınızı anlayabilirsiniz. Sadece onunla oynayın, bazı deneyler yapın. Bir şeyi çalıştıramazsanız ya da tüm bu kodlamada bir şeyi atlamışsam, size dosyayı burada vereceğim.

Önerilen: