• Windows 7 için yarasa dosyaları yazma. Toplu iş dosyası

    BAT dosyaları Metin belgesi, özel bir uzantısı var. Komutlar, komut satırında daha sonra yürütülmek üzere içine yazılır. Dosyayı çalıştırarak etkinleştirirsiniz CMD programı sırayla yürütülen komutları okur. Bu şekilde istediğiniz sırayı korurken komut satırıyla çalışmayı kolaylaştırabilirsiniz. Elbette komut satırına tüm komutları tek seferde manuel olarak girebilirsiniz ancak aynı işlemleri tekrarlamanız gerekiyorsa bunu bat belgesi şeklinde yazılan listeyi otomatik olarak okuyarak yapmak çok daha kullanışlıdır. Bu seçenek aynı zamanda pratik ve kullanışlıdır çünkü daha sonra sırayı değiştirebilir, ihtiyacınız olan yeni işlemleri ekleyebilir ve gereksiz olanları kaldırabilirsiniz.

    BAT süreçlerin otomatikleştirilmesine yardımcı olur: programları başlatma, arşivleme, yedekleme. Bu nedenle, bir yarasa dosyasını kendiniz nasıl oluşturacağınızı, düzelteceğinizi ve tamamlayacağınızı bilmek faydalıdır.

    Not Defteri'ni kullanarak yarasa ile çalışma

    Oluşturma algoritması

    Not Defteri ile çalışma süreci hiç de karmaşık değil. Bunu daha önce hiç yapmadıysanız, bir yarasa dosyası oluşturmayı ve ona komutlar eklemeyi öğrenerek bunu gayet iyi halledebilirsiniz. Yaratılışla başlayalım. Burada algoritmayı kesinlikle takip edin:

    1. Bir metin belgesi oluşturduğunuzda, başlangıçta onu txt uzantılı olarak alırsınız. Bu işlemi gerçekleştirmenin birkaç yolu vardır; bunlardan bazıları yüklediğiniz Windows düzeyine bağlıdır:
      • Seçtiğiniz klasörde alana sağ tıklayın, bir menü açılacak, orada “Oluştur” - “Metin belgesi” seçiyoruz;
      • “Tüm Programlar” - “Donatılar” - “Not Defteri”ni (Windows 7 için) seçerek “Başlat” aracılığıyla “Not Defteri”ni başlatın;
      • Daha sonra (7'den sonra) Windows sürümleri Ayrıca “Not Defteri”ni “Başlat” aracılığıyla da açabilirsiniz: “Tüm uygulamalar”a, ardından “Donatılar” - “Windows”a gidin ve listeden “Not Defteri”ni seçin;
      • Win + R kombinasyonunu kullanarak sistem komut penceresini açın, satıra "not defteri" yazın, "Tamam"a tıklayın.
    2. Komut metnini girin. Denemek için, örneğin "questmgr.exe'yi BAŞLAT" yazın - görev yöneticisini başlatın. “BAŞLAT” komut yorumlayıcısına bir programın başlatılması gerektiğini söyler, ardından programın çalıştırılabilir dosyası gösterilir.
    3. Oluşturulan belgenin kaydedileceği yolu belirtin.
    4. Kaydetme penceresinde şunu belirtin:
      • “Tür” satırında - “Tüm dosyalar”;
      • “Ad” satırına yarasanın adını ve uzantısını girin, adından sonra ekleyin, ad ile uzantı arasına bir nokta koyun, örneğin “file.bat”.
    5. “Kaydet”e tıklayın.

    Belirttiğiniz klasörde .bat uzantılı bir toplu iş dosyası görünecektir.

    Bir dosyayı çalıştırma

    Bir yarasa dosyasını fareyle çift tıklatarak açmak daha kolaydır. İkinci yol ise buradan başlatmaktır. Komut satırı: kaydettiğiniz .bat uzantılı belgenin bulunduğu adresi girin.

    Düzenleme

    Belgeyi değiştirmek istiyorsanız - yarasa dosyasına komutlar ekleyin, bazılarını silin, daha sonra çalışmak için başka bir programa girin - bunu yapmak zor değil. Belgeyi şunu kullanarak açın: Metin düzeltici. Bunu yarasa dosyasına sağ tıklayıp açılan menüden "Düzenle" seçeneğini seçerek yapmanız uygundur. Not Defteri başlatılacaktır; burada komutları düzenleyebilir, içeriği değiştirebilir ve eklemeler yapabilirsiniz.

    Dr.Batcher Uygulaması

    Komut yorumlayıcısıyla yeni çalışmaya başlayan ve onu nadiren kullanan yeni başlayanlar için Not Defteri yeterlidir. Daha yüksek bir profesyonel seviyeye ulaşmak istiyorsanız Dr.Batcher yardımcı programını kullanmanızı öneririz. Dr.Batcher'da sayfaları numaralandırabilirsiniz, yer imleri desteği, bir liste vardır sistem komutları yarasa'da kullanıldığında girilen komutlar vurgulanır.

    Belge oluşturma

    Algoritma basittir ve özel beceri veya profesyonellik gerektirmez. Yardımcı programı indirdikten sonra ihtiyacınız olan her şeyi hızlı bir şekilde yapabilirsiniz.

    Dr.Batcher'ı başlatın.

    1. Açık yeni sayfa: “Dosya” - “Yeni” veya simgeye tıklayın temiz sayfa, “Dosya” menüsü altında bulunur.
    2. İletişim kutusunda “Toplu Dosyayı Boşalt”a tıklayın.
    3. Yarasa ile çalışmaya yönelik işlevleri içeren bir program penceresi görünecektir.
    4. Girerek gerekli metin, kaydetmek.

    Düzenleme

    Bir yarasa dosyasını değiştirmeniz gerekiyorsa, bunu Dr.Batcher'da birkaç yolla yapabilirsiniz:

    1. Simgeye sağ tıklayın ve menüden “Dr.Batcher ile Düzenle” seçeneğini seçin.
    2. Batcher'ı başlatın. Açık gerekli bat dosyası, yolu takip ederek:
    • "Dosya";
    • "Açık";
    • belgenin yolunu belirtin;
    • "Açık".

    Önerilen yollardan birini izledikten sonra yardımcı programı açacaksınız; pencerede ayarlamalar yapabileceğiniz, komutları değiştirebileceğiniz, tamamlayabileceğiniz ve gereksiz olanları silebileceğiniz bir metin bulunacaktır.

    Windows'ta görevleri otomatikleştirmeniz gerektiğinde yarasa dosyası kullanışlıdır. Özellikle belirli bir algoritmada eylemlerin birkaç kez (periyodik olarak veya arka arkaya) gerçekleştirilmesi gerekiyorsa. Bu genellikle bir dizin sistemi oluştururken, dosyaları toplu olarak yeniden adlandırırken ve diğer basit ve daha karmaşık işlemlerde gereklidir. Eylem sırasını koruyarak hızlı ve zaman kaybetmeden yapabilirsiniz. manuel ekleme komutları istediğiniz zaman başlatabilirsiniz, işlemi tekrarlayın farklı programlar, bitmiş metne yalnızca adlarını ekleyerek. Yukarıda özetlenen bir yarasa dosyasının nasıl oluşturulacağına ilişkin öneriler, bunları yalnızca kendiniz oluşturmanıza değil, aynı zamanda düzenlemenize de yardımcı olacaktır.

    Kullanım GUI günümüzün işletim sistemlerinde bu normal ve tamamen doğal bir şey gibi görünüyor, ancak durum her zaman böyle değildi. Microsoft tarafından geliştirilen ilk işletim sistemi MS DOS, GUI'ye sahip değildi ve metin komutları girilerek kontrol ediliyordu. Ancak o zamandan bu yana neredeyse 40 yıl geçti komut dosyası dili Komut satırı hala popüler ve yalnızca geliştiriciler arasında değil.

    Komut satırı o kadar kullanışlı değil, ancak onun yardımıyla GUI'den mümkün olmayan işlemleri gerçekleştirebilirsiniz. Öte yandan, konsolu her seferinde başlatmak, komutları arka arkaya girmek - tüm bunlar işi büyük ölçüde yavaşlatır. Ancak bir yarasa dosyası veya yalnızca bir toplu iş dosyası oluşturarak görevi önemli ölçüde basitleştirebilirsiniz - Metin dosyası BAT uzantılı, CMD komut yorumlayıcısı tarafından işlenen talimatların bir listesini içeren. Bu tür dosyalar otomasyon için kullanılır farklı görevlerörneğin, bir zamanlamaya göre geçici dosyaları silmek veya programları çalıştırmak için.

    BAT uzantılı bir dosya nasıl oluşturulur

    Peki Windows 7/10'da yarasa dosyası nasıl oluşturulur? Çok basit. Bunu yapmak için herhangi bir metin düzenleyiciye ve komut satırının temelleri hakkında bilgiye ihtiyacınız olacak. Notepad'i veya daha da iyisi Notepad++'ı kullanabilirsiniz, çünkü ikincisi sözdizimi vurgulamasına sahiptir. Düzenleyicide oluşturun yeni dosya, "Dosya" menüsünde "Farklı Kaydet"i seçin, gelecekteki komut dosyasına bir ad verin ve "Dosya Türü" açılır listesinde "Toplu iş dosyası (*bat; *cmd; *nt)" seçeneğini seçin.

    Yarasa dosyası oluşturmak için Not Defteri'ni kullanmak istiyorsanız, uzantıyı manuel olarak atamanız ve "Dosya türü" listesinden "Tüm dosyalar"ı seçmeniz gerekir.

    Gördüğünüz gibi bir dosya oluşturun. yarasa uzantısı Zor değil ama burada bazı incelikler var. Komut dosyalarında satır sonları kullanılamaz; yarasa dosyasının kodlaması UTF-8 olarak ayarlanmalıdır; betiğin gövdesi Kiril alfabesi kullanıyorsa, uygun yere chcp 1251 komutu eklenerek kodlama değiştirilmelidir.

    BAT uzantısı yerine CMD'yi kullanabilirsiniz, betiği çalıştırmanın sonucu tamamen aynı olacaktır.

    Temel komutlar, sözdizimi ve toplu iş dosyalarını kullanma örnekleri

    Yarasa dosyasının nasıl oluşturulacağını biliyorsunuz, şimdi sıra en ilginç kısma, yani CMD yorumlayıcı dilinin sözdizimine geldi. Boş bir toplu iş dosyasının işe yaramayacağı açıktır, üzerine çift tıkladığınızda bile başlamayacaktır. Betiğin çalışması için içine en az bir komutun yazılması gerekir. Görsel bir örnek olarak, programları başlatmak için bir yarasa dosyasının nasıl yazılacağını görelim. Diyelim ki çalışmaya başladığınızda her seferinde üç program başlatıyorsunuz: Chrome, Firefox ve VLC. Bu programları beş saniye aralıklarla başlatacak bir komut dosyası oluşturarak görevi basitleştirelim.

    Boş bir toplu iş dosyası açın ve aşağıdaki komutları bu dosyaya yapıştırın:

    Başlat "" "C:/Program Files/Google/Chrome/Application/chrome.exe" zaman aşımı /t 05 start "" "C:/Program Files/Mozilla Firefox/firefox.exe" timeout /t 05 start "" "C :/Program Dosyaları/VideoLAN/VLC/vlc.exe"

    Takım başlangıç Lansmanlar çalıştırılabilir dosya istenilen program ve ekip zaman aşımı/saat başlangıçlar arasındaki süreyi ayarlar. Tırnakların yerleşimine dikkat edin; boşluk içeren yollar içerirler. Ayrıca yolda varsa Kiril karakterler betiğin başına kodlamayı değiştiren bir komut eklemelisiniz chcp1251 aksi halde yorumlayıcı yolu doğru okuyamaz.

    Betiği çalıştırdığınızda dört konsol penceresi sırayla açılacaktır, bu normaldir, komutları çalıştırdıktan sonra hepsi otomatik olarak kapanacaktır, ancak yalnızca ilk pencerenin açıldığından emin olabilirsiniz. Bunu yapmak için uygulama başlatma kodunun aşağıdaki şekilde değiştirilmesi gerekir:

    /b "" "yol"u başlat

    Ayrıca, kullanıcının diğer tüm komutları yürütüp yürütmeyeceğine karar verebilmesi için bir noktada betiğin yürütülmesini duraklatmak gerekebilir. Bunun için bir komut var Duraklat. Timeout'u bununla değiştirmeyi deneyin ve ne olacağını görün.

    Başlat /b "" "yol" duraklatma

    Bir yarasa dosyası için başka bir komut örneğine bakalım. Bir durumda bilgisayarı kapatacak, diğerinde ise yeniden başlatacak bir komut dosyası yazalım. Bu amaçlar için şu komutu kullanacağız: kapat parametrelerle /S, /R Ve /T. Dilerseniz gövde dosyanıza aşağıdaki gibi bir eylem gerçekleştirme isteği ekleyebilirsiniz:

    @echo off chcp 1251 echo "Bilgisayarınızı kapatmak istediğinizden emin misiniz?" kapatmayı duraklat /s /t 0

    Açıklayalım. İlk komut komutların metnini gizler, ikincisi Kiril kodlamasını ayarlar, üçüncüsü kullanıcı için bir mesaj görüntüler, dördüncüsü bir duraklatma ayarlar, beşincisi kapanır ve tuşuyla /R yerine /S bilgisayarınızı geleneksel bir dakikalık gecikme olmadan yeniden başlatır. Talepler ve duraklamalarla törene katılmak istemiyorsanız, yalnızca beşinci komutu bırakabilirsiniz.

    Komutu çalıştırırken Rusça metin yerine kryakozyabra görürseniz, komut dosyasını ANSI'ye dönüştürmeyi deneyin.

    Komut dosyalarıyla başka neler yapabilirsiniz? Pek çok şey, örneğin dosyaları silmek, kopyalamak veya taşımak. Diyelim ki D sürücüsünün kökünde, içeriğinin bir çırpıda temizlenmesi gereken belirli bir veri klasörünüz var. Toplu iş dosyasını açın ve aşağıdaki komutu içine yapıştırın:

    Del /A /F /Q "D:/veri"

    Veya şunu yapabilirsiniz:

    Dosyalar için /p "D:/data" /s /m *.* /c "cmd /c Del @yol"

    İlkinden farklı olarak, ikinci komut dosyaları yinelemeli olarak siler, yani veri klasöründeki tüm dosyalar ve alt dizinlerde bulunanlar silinir.

    İşte başka bir yararlı örnek. oluşturacak bir script yazalım. yedek kopya bir klasörün içeriğini ve verileri diğerine kaydedin. Komut kopyalamadan sorumludur robokopi:

    Robocopy C:/data D:/backup /e duraklatma

    Böyle bir toplu iş dosyasını yürütmek için çalıştırdığınızda, tüm içeriği kopyalayacaksınız. veri klasörleri alt dizinler dahil, boş ve dosyalarla birlikte yedekleme klasörüne. Bu arada, robocopy komutu, kopyalama parametrelerini çok esnek bir şekilde yapılandırmanıza olanak tanıyan birçok parametreye sahiptir.

    Yarasa dosyalarını yönetici olarak ve bir programa göre çalıştırın, gizli yarasa başlatma

    Artık toplu iş dosyalarının nasıl oluşturulacağını biliyorsunuz ve CMD yorumlayıcı dili hakkında genel bir anlayışa sahipsiniz. Bunlar temel bilgilerdi, şimdi bazılarını tanımanın zamanı geldi kullanışlı özellikler bat dosyalarıyla çalışma. Programların bazı eylemleri gerçekleştirmek için yönetici haklarına ihtiyaç duyduğu bilinmektedir. Batniklerin de onlara ihtiyacı olabilir. En açık yol Betiği yönetici olarak çalıştırmak için üzerine sağ tıklayıp içerik menüsünden uygun seçeneği seçmek gerekir.

    Ayrıca belirli bir toplu iş dosyasının her zaman yükseltilmiş ayrıcalıklarla başlatılacağından emin olabilirsiniz. Bunu yapmak için, böyle bir komut dosyasına normal bir kısayol oluşturmanız, özelliklerini açmanız, "Gelişmiş" düğmesini tıklamanız ve açılan pencerede "Yönetici olarak çalıştır" onay kutusunu işaretlemeniz gerekir. Bu yöntem aynı zamanda kısayol için herhangi bir simgeyi seçmenize izin verdiği için de iyidir; BAT veya CMD uzantılı bir dosya her zaman sıradan bir görünüme sahip olacaktır.

    Tüm uygulamalar gibi komut dosyaları da bir programa göre başlatılabilir. Takım zaman aşımı/saat burada tamamen uygun değil; gecikmeli başlatma için yerleşik Windows Görev Zamanlayıcı'yı kullanmak en iyisidir. Burada her şey basit. komutuyla açın görevlerchd.msc Zamanlayıcı, tetikleyiciye karar verin, “Programı çalıştır” eylemini seçin ve yarasa dosyasının yolunu belirtin. Hepsi bu, komut dosyası planlanan zamanda başlatılacak.

    Ve nihayet bir tane daha ilginç nokta. Bir yarasa dosyasını çalıştırdığınızda, saniyenin çok küçük bir kısmı için bile olsa ekranda bir komut satırı penceresi görünür. Komut dosyasının çalışmasını sağlamak mümkün mü? gizli mod? Bu mümkündür ve birkaç yolla mümkündür. En basiti aşağıdaki gibidir. Yarasa dosyası için bir kısayol oluşturun, özelliklerini açın ve “Pencere” menüsünden “Simgeye daralt” seçeneğini seçin. Bundan sonra, betiğin çalıştığını gösteren tek görünür işaret, görev çubuğunda CMD simgesinin görünmesi olacaktır, ancak hiçbir pencere açılmayacaktır.

    Komut dosyasının yürütülmesini tamamen gizlemek istiyorsanız, toplu iş dosyanızı gizli modda başlatacak olan bir "koltuk değneği" - VBS komut dosyası kullanabilirsiniz. Komut metni aşağıdadır, bir dosyaya kaydedin gizli.vbs, daha önce ikinci kod satırındaki yolu değiştirmiş olan D:/script.bat vücut dosyanızın yolu.

    Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "D:\script.bat" & Chr(34), 0 Set WshShell = Hiçbir şey

    Yardımcı programı kullanmak gibi başka seçenekler de vardır. Gizli Başlangıç yürütülebilir dosyaları ve toplu dosyaları davetsiz de dahil olmak üzere gizli modda çalıştırmanıza olanak tanır.

    Şimdilik bu kadar. BAT komut dosyalarının oluşturulmasına ilişkin bilgiler internette kolayca bulunabilir. Ayrıca William Stanek'in "Komuta" adlı ders kitabını okumak da iyi bir fikirdir. Microsoft dizesi Pencereler". Kitabın yayımlanmasının üzerinden on yıldan fazla zaman geçmesine rağmen içerdiği bilgiler hâlâ geçerliliğini koruyor.

    Bu yazıda yarasa dosyası oluşturmanın iki yoluna bakacağız: Explorer'ı kullanmak ve Not Defteri'ni kullanmak. Bu, yeni yarasa dosyaları oluşturmak için yeterli olacaktır ancak önce bunların ne işe yaradığına karar verelim. Basitçe söylemek gerekirse, bir dizi komutu bir kez yazmak için yarasa dosyasına ihtiyaç vardır. Windows komut satırı ve ardından bunları her seferinde yazmanıza gerek kalmadan istediğiniz zaman yürütün. Her şeyi hesaba katarak, mükemmel seçenek tembel ve/veya sistem yöneticileri için. =)

    Hemen konuya gireceğim:

    Birinci yöntem. Biz yaratırız yarasa dosyası V" Kondüktör»

    Hemen rezervasyon yaptırayım ki bu yöntem şunu gerektiriyor Explorer'da dosya uzantılarının görüntülenmesi etkinleştirildi. Bu çoğu durumda kullanışlıdır ve bu özelliğin Windows'ta neden varsayılan olarak devre dışı bırakıldığını anlamıyorum.

    Uzantısını değiştiriyoruz(son noktadan sonra ne var) .bat'ta:

    Enter tuşuna bastıktan sonra Windows şunu soracaktır: “Uzantıyı değiştirdikten sonra bu dosyaya artık erişilemeyebilir. Değişikliği yap?" Tabii ki “Evet”! Tam olarak başarmaya çalıştığımız şey bu: .txt uzantısını .bat olarak değiştirin:

    İşte! Bir "toplu dosya" aldık, yani. başlatıldığında yürütülecek komutları girebileceğiniz yürütülebilir bir dosya:

    İkinci yöntem. Biz yaratırız yarasa dosyası V" Not Defteri»

    " kullanarak bir yarasa dosyası oluşturmak için Not Defteri", gerek Not Defteri'ni aç(veya Not Defteri'ndeki herhangi bir metin dosyası) ve " Dosya", seçenek "":

    Bir dosya kaydetme penceresi açılacaktır. 2 şeyi dikkate almak önemlidir:

    1. « Dosya tipi» görüntülenmelidir Tüm dosyalar (*.*)
    2. « Dosya adı" .bat uzantısına sahip olmalıdır

    Kaydettiğimiz yere bakarız (daha sonra bulmak için) ve “ Kaydetmek»:

    Toplam:

    Yönetici haklarına sahipseniz bu yöntemlerden herhangi biri mantıklıdır. Ama ilki gerektirir ek ayarlar(ki yine de değiştirip uygulamanızı tavsiye ederim).

    Bu makalede:

    • Değişkenleri Tanımlama
    • Komut satırı değişkenleri (yarasa dosyası çağrı parametreleri)
    • IF Koşullu Operatör
    • Fonksiyonlar
    • Dönüş değerlerini kullanma (çıkış kodunu işleme)

    Değişkenleri Tanımlama

    AYARLAMAK<Имяпеременной>=<Значениепеременной>

    SET operatörü parametrelerle çalışma yeteneğinin bir uzantısıdır. işletim sistemi. Yüzde işaretleri arasında kullanıldığında adı yerine değeri değiştirilen bir değişkeni belirtir. Yani, eğer ayarlanmışsa (birçok oyunun kullandığı bir değişken) ses kartı bilgisayar):

    PATLATICI AYARI=A220 I5 D1 P330

    daha sonra bir toplu iş dosyasında aşağıdaki yapıyı kullanırken:

    ECHO %BLASTER%

    Ekranda "A220 I5 D1 P330" görüntülenecektir. SET deyimi kullanılarak tanımlanan değişkenlere ortam değişkenleri adı verilir ve yürütüldükten sonra DOS yeniden başlatılana kadar görünürler (bellekte manuel olarak değiştirilmediği sürece). Yani, bir toplu iş dosyasından veya programdan, başka bir programda belirtildikten sonra kullanılabilir. En ünlüsü, bir dizi yol olan PATH değişkenidir. hızlı arama Dosyalar. Autoexec.bat dosyasında ayarlanır.

    Komut Satırı Değişkenleri
    (bat dosyasını çağırmak için parametreler)

    %<цифра 0-9>

    Her dilde olduğu gibi toplu iş dosyası dilinde de yarasa dosyasının parametreleri olarak alınan değişkenleri kullanmak mümkündür.

    Aynı anda toplam 10 bağımsız değişken bulunabilir. Bu, karmaşık programlar yazmak için oldukça küçüktür, ancak her zamanki işÇoğu zaman 3-4 yeterlidir. Değişkenin değeri, komut satırındaki karşılık gelen parametrenin değerine eşittir. %0 değişkeni .bat dosyasının adını ve belirttiyseniz yolunu içerecektir. Yani abc.bat dosyasını aşağıdaki parametrelerle çalıştırdıysanız:

    abc.bat ve bc def

    bu durumda %0 değişkeni abc.bat değerini içerecek, %1 a değerini içerecek, %2 bc değerini içerecek ve %3 def değerini içerecektir. Bu özellik, tekrarlanan işlemlerle uğraşırken çok yönlü toplu iş dosyaları oluşturmak için yaygın olarak kullanılır.

    Komut satırından 10'dan fazla değişken almak için SHIFT komutunu kullanabilirsiniz.

    SHIFT komutu 10'dan fazla komut satırı parametresi kullanmanıza izin verir ancak karşılık gelen önceki parametreler kaybolur. Yani SHIFT komutu tüm değişken değerlerini bir adım sola kaydırır. Yani, %0 değişkeni daha önce %1 değişkeninde bulunan değeri içerecek ve %1 değişkeni, kaydırma öncesinde %2 değişkeninin değerini içerecektir. Fakat, bu operasyon geri döndürülemez, yani değişkenleri geriye kaydırmak imkansızdır.

    IF Koşullu Operatör

    Neyse ki, komut yorumlayıcısı Modern Windows 2000 ve sonraki sürümlerdeki cmd.exe, dallanma yapılarındaki komut bloklarını destekleyerek etiketli IF'leri kullanma ihtiyacını ortadan kaldırır. Komut blokları parantez içine alınır. Şuna benzer (C/C++ girinti stilini taklit ederek):

    eğer koşul (

    'Sonra' dalının Rem Komutları

    Rem...

    ) başka (

    'Else' dalının Rem Komutları

    Rem...

    Spesifik örnek kullanım:

    @Eko kapalı

    BUILDMODE=%1 olarak ayarla

    if "%BUILDMODE%" == "" (

    Echo FAIL: Bağımsız değişken gerekli ^(--debug, --release^)

    Çıkış /b 1

    rem İşlemi kolaylaştırmak için argümandaki tüm kısa çizgileri kaldırın

    BUILDMODE=%BUILDMODE:-=% olarak ayarla

    if "%BUILDMODE%" == "hata ayıklama" (

    CCFLAGS=/Od /MDd /Z7'yi ayarlayın

    ) başka (

    CCFLAGS=/O2 /MD'yi ayarlayın

    Bana göre bununla yaşamak oldukça mümkün. Ancak hayat her zaman olduğu gibi göründüğü kadar basit değildir. Bir sorun var. Then ve else bloklarında kullanılan değişkenler, yürütme sırasında değil, bloklar yürütülmeye başlamadan önce genişletilir. Yukarıdaki örnekte bu herhangi bir soruna neden olmaz ancak aşağıdaki örnekte sorun yaratacaktır:

    if "%BUILDMODE%" == "hata ayıklama" (

    Echo INFO: Hata ayıklama ortamı modunu ayarlama

    OPTFLAGS=/Od'u ayarlayın

    CCFLAGS=%OPTFLAGS% /MDd /Z7'yi ayarlayın

    ) başka (

    Echo INFO: Ortam serbest bırakma modunu ayarlama

    OPTFLAGS=/O2'yi ayarlayın

    CCFLAGS=%OPTFLAGS% /MD'yi ayarlayın

    İşin püf noktası, her iki blokta da OPTFLAGS değişkeninin değiştirilmesinin, o bloğun yürütülmesi sırasında değiştirilmeden önce gerçekleşmesidir. Buna göre, CCFLAGS, bloğun başlaması durumunda OPTFLAGS'ın bu işlemin yürütüldüğü sırada sahip olduğu değerle doldurulacaktır.

    Bu problem gecikmeli değişken açılımı kullanılarak çözülür. !…!'in içerdiği değişkenler %...% yerine anlamları yalnızca doğrudan kullanım anında ortaya çıkacaktır. Bu mod varsayılan olarak devre dışıdır. Bunu, cmd.exe'yi çağırırken /V:ON anahtarını kullanarak veya şu komutu kullanarak etkinleştirebilirsiniz:

    yarasa dosyasının kendi metninde. İkinci yöntem bana daha uygun görünüyor; birisinin betiğinizi belirli bir parametreyle çalıştırmasını istemek pek hoş değil.

    Bununla birlikte, önceki "yanlış" örnek şu şekilde düzeltilebilir:

    setlocal etkinleştirme gecikmeli genişleme

    if "%BUILDMODE%" == "hata ayıklama" (

    Echo INFO: Hata ayıklama modu ortamını ayarlama

    OPTFLAGS=/Od'u ayarlayın

    CCFLAGS=!OPTFLAGS!'ı ayarlayın. /MDd /Z7

    ) başka (

    Echo INFO: Deklanşör modu ortamını ayarlama

    OPTFLAGS=/O2'yi ayarlayın

    CCFLAGS=!OPTFLAGS!'ı ayarlayın. /MD

    Şimdi bu neredeyse tam teşekküllü bir if-then-else bloğudur. Neredeyse, çünkü echo komutlarından birinde kapanış paranteziyle karşılaşırsanız, bundan ^ karakteriyle kaçmanız gerekir, aksi takdirde ayrıştırıcının kafası karışır...

    Ancak her durumda, bu çok sayıda etiket ve geçişten çok daha iyidir.

    Fonksiyonlar

    Yarasa dosyasında bir işlev oluşturmak mümkün mü? Evet yapabilirsin. Üstelik bazen gerekli bile olabiliyor. Doğru, bunlara koşullu olarak işlevler denilebilir.

    Çağrı komutu için, aynı yarasa dosyasındaki bir işarete gitmenize ve bu çağrının yapıldığı yeri hatırlamanıza olanak tanıyan özel bir sözdizimi vardır:

    çağrı:etiket bağımsız değişkenleri

    İşlev şu komutla döndürülür:

    çıkış /b [isteğe bağlı dönüş kodu]

    /b tuşu burada çok önemlidir: o olmadan fonksiyondan değil genel olarak komut dosyasından çıkarsınız.

    Ayrıntılar için komut satırına şunu yazın:

    Arama/?

    çıkış /?

    İlginç bir şekilde, bu sözdizimine sahip call komutu, özyinelemeli çağrıları destekler. otomatik oluşturma%0-%9 değişken bağımsız değişkenleri için yeni çerçeve. Bazen bu faydalı olabilir. Komut dilinde özyinelemeli faktöriyel hesaplamanın klasik bir örneği:

    @Eko kapalı

    çağrı:faktöriyel %1

    yankı %RESULT%

    çıkış

    rem Faktöriyel değeri hesaplamak için işlev

    giriş yap:

    rem %1 Faktöriyelini hesaplamak istediğiniz sayı

    rem Çıkışı:

    rem %RESULT% Faktöriyel değer

    :faktöriyel

    eğer %1 == 0 (

    SONUÇ=1 olarak ayarla

    Çıkış /b

    eğer %1 == 1 (

    SONUÇ=1 olarak ayarla

    Çıkış /b

    set /a PARAM=%1 - 1

    çağrı:faktöriyel %PARAM%

    set /a SONUÇ=%1 * %SONUÇ%

    çıkış /b

    Çalışma örneği:

    > faktöriyel.bat 10

    3628800

    Dönüş Değerlerini Kullanma
    (program çıkış kodu işleniyor)

    Herhangi bir program işini tamamladığında sonlandırma kodunu işletim sistemine döndürür. Başarıyla tamamlandığında sıfıra dönmek gelenekseldir, aksi halde bir hata kodu verilir. Bazen veya daha doğrusu sıklıkla, bir program "kasıtlı olarak" sıfırdan farklı bir değer döndürür, böylece işleminin bazı ayrıntıları toplu iş dosyasında "öğrenilebilir". Örneğin, program basılan tuşun kodunu döndürür ve .bat dosyası buna göre çeşitli eylemler gerçekleştirir.

    Bir toplu iş dosyası yürütülen programın çıkış kodunu nasıl bulabilir? ERRORLEVEL anahtar değişkeni bu amaç için sağlanmıştır.

    Hata düzeylerine sahip bir toplu iş dosyası örneği:

    @EKO KAPALI

    REM prg1.exe programını çalıştırın

    PRG1.EXE

    REM Tamamlama kodu analizi

    HATA 2. SEVİYEDE DOSYA BULUNAMAZSA GİT

    HATA SEVİYE 1 İSE YAZMA HATASINA GİT

    HATA SEVİYESİ 0 İSE ÇIKIŞTA GİT

    ONEXIT'E GİT

    :DOSYA BULUNAMADI

    ECHO Hatası! Dosya bulunamadı!

    ONEXIT'E GİT

    :YAZIM HATASI

    ECHO Kayıt hatası!

    ONEXIT'E GİT

    :ÇIKIŞ

    ECHO Program başarıyla tamamlandı.

    ONEXIT'E GİT

    :SONÇIKIŞ

    Lütfen çıkış kodunun analizinin sıfırdan değil, mümkün olan maksimum değerden başladığını unutmayın. Gerçek şu ki böyle bir kontrol şu anlama gelir: “eğer hata seviyesi bu değerden büyük veya ona eşitse, o zaman…”. Yani sıfırdan başlayarak kontrol edersek ilk satırdaki herhangi bir değer doğru olacaktır ki bu yanlıştır.

    Bu tür programlarda en sık karşılaşılan hata budur.


    Yarasa dosyası, işletim sistemlerindeki bir metin dosyasıdır Windows ailesi"cmd.exe" komut yorumlayıcısı tarafından yürütülecek bir dizi sistem komutunu içerir. Genel olarak bir komut dosyasıdır. Yarasa dosyasını başlattıktan sonra komut yorumlayıcısı, içeriğini satır satır okur ve alınan komutları sırayla yürütür. Bugün bir yarasa dosyasını nasıl oluşturabileceğinize bakacağız ve ayrıca bu dosyaları oluşturmaya ve düzenlemeye yönelik programlarla tanışacağız.

    Yarasa dosyalarının amacı

    Yarasa uzantılı dosyalar birçok işlemi otomatikleştirmek için tasarlanmıştır. rutin görevler ameliyathanede Windows sistemi. Bazı işlemleri veya işlem dizisini arka arkaya çok sayıda gerçekleştirmenin veya belirli bir algoritmayı periyodik olarak tekrarlamanın gerekli olduğu durumlarda çok faydalı olacaklardır. Her şeyden önce bu, birlikte çalışmakla ilgilidir. dosya sistemi(Yaratılış büyük miktar dizinler, özellikle iç içe geçmiş olanlar, dosyaların toplu olarak yeniden adlandırılması). , Yukarıdaki bağlantıya tıklayarak öğrenebilirsiniz.

    Yarasa dosyası oluşturma

    Herhangi bir kullanıcı bir metin komut dosyası oluşturabilir - burada kesinlikle karmaşık bir şey yoktur. Bunu yapmak için yalnızca bir metin düzenleyiciye ihtiyacınız var (standart bir not defterinin işlevselliği oldukça yeterli olacaktır).

    İlk yöntem

    1. Herhangi bir dizinde yeni bir metin belgesi oluşturun.

    Bu işlemi gerçekleştirmek için arayın içerik menüsü dizin alanını klasörlerden ve dosyalardan arındırın ve “Oluştur”u seçin. Açılır listede “Metin dosyası” öğesine tıklayın.

    1. Oluşturulan belgenin adını girin ve "Giriş" düğmesine tıklayın.
    2. Oluşturulan dosyayı aç çift ​​tıklama fareler.

    1. İşlevselliğini kontrol etmek için birkaç basit komut girelim:

    @ Eko Merhaba, BenM yarasa!

    @echo – metni ekranda görüntüleme komutu;

    Merhaba, ben yarasayım! - metnin kendisi;

    duraklat – pencereyi kapatmadan önce kullanıcı eylemlerini bekleyin. “@Echo” komutunu çalıştırdıktan sonra, komut yorumlayıcısı otomatik olarak kapanmaz ve kullanıcının yürütmenin sonuçlarını tanımasına olanak tanır (girilen metni ekranda göreceğiz).

    1. Ana not defteri menüsündeki “Dosya” öğesini çağırın ve “Farklı kaydet...” seçeneğine tıklayın.

    1. Açılan iletişim kutusunda “Tüm dosyalar” dosya tipini seçin.

    1. Daha sonra belgemizin ismine aşağıdaki “.bat” metnini ekliyoruz ve bu sonuçta “file.bat” sonucunu verecektir.
    2. “Kaydet” düğmesine tıklayın.

    Sonuç olarak, Explorer penceresinde, farenin sol tuşuyla çift tıklamanız veya onu seçip "Enter" tuşuna basmanız gereken "file.bat" adlı bir belge görünecektir.

    Düzenleme toplu iş dosyası içerik menüsünden “Değiştir” komutu seçilerek gerçekleştirilir.

    İkinci yöntem

    Yarasa dosyaları oluşturmanın ikinci yöntemi neredeyse birincisine benzer, ancak onu görmezden gelmeyeceğiz.

    1. Bilinen herhangi bir yöntemi kullanarak Not Defteri'ni başlatıyoruz.
    • Başlat menüsündeki kısayol aracılığıyla - Windows 7'de “Başlat - Tüm Programlar - Donatılar - Not Defteri” veya Windows'un sonraki sürümlerinde “Başlat - Tüm Uygulamalar - Donatılar - Windows - Not Defteri” seçeneğine gidin.
    • İÇİNDE arama çubuğu“Başlat” / “Windows”, not defterine girin ve sonuçlar listesindeki kısayoluna tıklayarak programı başlatın.
    • “Win + R” tuş kombinasyonunu kullanarak sistem komutlarını yürütmek için pencereyi açın, “not defteri” girin ve “Tamam” a tıklayın.
    1. Önceki yöntemin 4 numaralı noktasına geçelim.

    Yarasa dosyalarını Windows kullanarak düzenleme

    1. Yarasa dosyasına sağ tıklayın ve içerik menüsünü çağırın.

    1. Açılan menüden “Düzenle” veya “Düzenle” seçeneğini seçin.
    2. Yarasa dosyasının içeriği, genellikle Not Defteri olmak üzere standart bir metin düzenleyiciyle açılan pencerede görünecektir.
    3. Gerekli ayarlamaları yapıp sonucu kaydediyoruz.

    Dr.Batcher – yarasa dosyaları oluşturmak ve bunları düzenlemek için bir program

    Her ne kadar günümüzde bat dosyalarının kullanımı kullanıcılar arasında çok popüler olmasa da, bilgisayardaki birçok sorunu çözmek için onların yardımına başvurmak hala daha etkilidir. Komut yorumlayıcısını ara sıra kullanan yeni başlayanlar için not defterinin işlevselliği yeterliyse, o zaman sistem yöneticisi ve yaradılışla meşgul bir vareznik Windows derlemeleri veya otomatik olarak yüklenir yazılım bunun için daha gelişmiş ve kullanışlı araç yarasa formatındaki belgelerle çalışmak için. Dr.Batcher yardımcı programıdır. Programın arayüzü ve işlevselliği Notepad++ gibi not defterlerinden pek farklı değildir. Ana menüde sık kullanılan komutlar için düğmeler bulunur. Dr.Batcher sayfaları numaralandırır, yer imlerini destekler, yarasa dosyaları için sistem komutlarının bir listesini içerir ve girilen komutların sözdizimini vurgular.

    Dr.Batcher'da bir yarasa dosyası oluşturma

    1. Uygulamayı başlatalım.
    2. Ana menüsündeki “Dosya” öğesini arayın ve “Yeni” ye tıklayın. Aynı şey “Dosya” menüsü altında bulunan boş sayfa simgesine tıklayarak da yapılır.
    3. İletişim kutusunda “Toplu Dosyayı Boşalt” seçeneğini seçin.

    Yarasa dosyalarıyla çalışmak için gerekli tüm işlevlerin bulunduğu ekranda bir program penceresi görünecektir.

    Dr.Batcher'da yarasa dosyalarını düzenleme

    Yarasa formatındaki bir belgeyi Dr.Batcher'da düzenlemek üzere açmanın birkaç yolu vardır ve bunlar daha fazla tartışılacaktır.

    Bir yarasa dosyasının içerik menüsü aracılığıyla düzenleme

    1. Yarasa formatlı belgenin içerik menüsünü çağırın.
    2. Açılır listeden “Dr.Batcher ile Düzenle”yi seçin.

    Ardından metin toplu dosyamızın içeriğini içeren, içeriğinde ayarlamalar yapabileceğiniz bir program penceresi açılacaktır.

    Dr.Batcher'ı kullanarak yarasa dosyalarını düzenleme

    1. Batcher uygulamasını başlatın.
    2. Ana menüsünde “Dosya” öğesini arayın.
    3. Açılır menüden “Aç”ı seçin.

    Aynı şey ana menünün altında bulunan klasör simgesine tıklayarak da yapılır.

    1. Dosya açma iletişim kutusunda, dosyanın yolunu belirtin. gerekli belge bat biçimini seçin ve “Aç”a tıklayın.

    Bat dosyamız Dr.Batcher penceresinde açılacaktır ve üzerinde ayarlamalar yapabilirsiniz.

    Konuyla ilgili herhangi bir sorunuz varsa "Yarasa dosyası nasıl oluşturulur? Oluşturma programları ve yarasa düzenleme dosyalar", yorumlarda onlara sorabilirsiniz


    if(function_exists("the_ratings")) ( the_ratings(); ) ?>