• Windows toplu iş dosyaları. .bat dosyası oluşturma

    BAT dosyası, dilediğiniz gibi .bat veya .CMD uzantısıyla kaydedilmiş bir program kodudur.

    Yarasa dosyalarının olanakları neredeyse sınırsızdır, ancak kural olarak programcılar bu uzantıları basit ve rutin konularda kullanırlar.

    Yarasa dosyasını kullanarak bilgisayarınızdaki dosyaları açabilir, dosyaları maskeli veya maskesiz kopyalayabilir, taşıyabilir ve silebilir, komut dosyalarını çalıştırabilirsiniz. üçüncü taraf programları, istediğiniz URL'ye sahip bir tarayıcı açın. Bu tür dosyaları genellikle uzak bir sunucudaki bir ftp klasörünü açmak için kullanırım.

    Yarasa dosyası nasıl oluşturulur

    Yarasa dosyalarının oluşturulması kolaydır. Düzenli olarak açık Metin düzeltici ve .bat uzantısıyla kaydedin.

    Ayrıca "notepad++" gelişmiş programını da kullanabilirsiniz.

    Yarasa dosyası yazmak için örnek kod:

    explorer.exe "C:\Program Dosyaları"

    Bu kod "klasörünü açacak" program dosyaları» C:\ sürücüsünde

    .bat dosyalarının yazılması, bilgisayar kullanıcısının özel dikkat göstermesini gerektirir. Toplu iş dosyaları tüm dizinleri silebildiğinden, bilgisayar bölümünü biçimlendirin

    İşte bir kod örneği: F:\ bölümünün biçimlendirilmesi

    @Eko kapalı
    format F /q /otomatik test

    Örnek yarasa kodu - 100 klasör oluşturun:

    @Eko kapalı
    (1,1,100)'de /l %%i için mkdir "dir %%i" yapın

    Yarasa ve (Virüs)'ü zararlı bir program betiği yapabilirsiniz: Örneğin, aşağıdaki kod önemli exe dosyalarını silecektir.

    @Eko kapalı
    "c:\windows\exploer.exe" dosyasını del
    "c:\windows\mspoint.exe" dosyasını del
    "c:\windows\notepad.exe" dosyasını del

    Yarasa dosyası içeren bir klasör oluşturma komutu

    Aşağıdaki kod, dosyanın bulunduğu konumda 3 klasör oluşturacaktır. Ayrıca oluşturulan ilk klasör başka bir alt klasör içerecektir. Klasör adları Kiril alfabesiyle yazıldığı için chcp 1251 kodlama satırını ekliyoruz. Rusça harflerin kodlamasını değiştirmek mümkün olmadığından böyle bir dosya normal bir not defteri ile yazılamaz. Notepad++ kullanın.

    chcp1251
    MD .\klasör_article\base\
    MD .\dizin\
    MD .\depo\

    Bat dosyasını indir

    - dosya 3 klasör oluşturur

    Örnek yarasa kodu bir klasörün nasıl açılacağını

    explorer.exe "C:\Kullanıcılar\Yönetici\Masaüstü\fotoğraf\"

    Yarasa formatı nasıl açılır?

    Tıpkı bir metin düzenleyicide .bat dosyaları oluştururken olduğu gibi, bunlar aynı not defteri, wordpad veya notepad++ ile açılabilir.

    Bir yarasa dosyasını açarken hatırlamanız gereken tek şey, çift ​​tıklama Dosyanın üzerine fareyle gelindiğinde program başlatılacaktır. Yani, düzenlemek üzere açmak için imleci düzenlenen dosyanın üzerine getirin ve sağ tıklayarak içerik menüsünü açın; burada Notepad++ ile aç'ı seçin.

    Ayrıca eğer içerik menüsü Sadece aç'a tıklayın. Ayrıca yarasa dosyasının yürütülmesine de başlayacaksınız.

    Başka bir yol daha var: Metin düzenleyici Not Defteri'ni açın ve düzenlenen dosyanızı buraya sürükleyin.

    Önemli: kullanıcılar genellikle dosya kavramlarını .bat uzantısıyla karıştırır ve posta istemcisi Posta belgelerini göndermek ve almak için "Yarasa".

    Temel Yarasa Dosyası Operatörleri

    @ Yarasa tarafından yürütülen tüm komutlar ekranda görüntülenir, gereksiz şeyleri ortadan kaldırmak için komutun önüne bir “köpek” yerleştirilir. Genellikle @echo kapalıyken kullanılır.
    ayarlamak Değişkenleri ayarlar. Örneğin, setper=c:\windows burada per'e yol atanır. Bir değişkene hantal bir değer yazıp bunu komut dosyasında belirtebilirsiniz, bu da kodu daha kompakt hale getirir. İçeriği değişirse bu değişkenin sağlandığı her yerde değerleri değiştirmenize gerek kalmayacaktır.
    :: Bu satırı ekranda görüntülemeden bir yarasa dosyasına yorum eklemenin iki yönteminden biri.
    :ETİKET Bir kelimeye iki nokta üst üste eklediğinizde, gövde dosyasının farklı bölümlerine atlamanıza olanak tanıyan bir etiket oluşturulur. Etiketin farklı bir adı olabilir; LABEL bir örnektir.
    ARAMA Bat, bir toplu iş dosyasını diğerinin içinde çağıran bir komuttur. Dosyalardan birinde açıklanan tüm parametreler birbirine aktarılabilir.
    SEÇENEK Komutu seçin.
    CLS CLS'nin üzerinde görüntülenen kabuğun içeriğini temizler.
    EKO Ekranda bir mesaj görüntüler. Örneğin, “ECHO Nasılsın!” “Nasılsın!” Toplu iş dosyasının başında @ECHO kapalı seçeneğini kullanmazsanız, yarasa dosyasının yolunu ve iki mesajı göreceksiniz ki bu da gereksizdir. ECHO yazarak boş bir dize oluşturabilirsiniz. sonunda bir nokta ile.
    ÇIKIŞ Geçerli toplu komut dosyasını sonlandırır.
    ETİKETE GİT Belirli bir etikete atlamak için kullanılır. bu durumda LABEL'e gider ve komut dosyasını ondan sonra çalıştırır.
    EĞER Yarasa programlama dillerinde olduğu gibi if komutu, betiğin şu veya bu yolda ilerleyeceğine bağlı olarak bir koşulun yerine getirilmesini temsil eder. Sözdizimi için yardıma bakın.
    için Aynı eylemlerin yürütülmesini düzenlemek için kullanılan bir döngü.
    DURAKLAT Bir betiğin çıktısını görmeniz gerekiyorsa ve çalışıyorsa ve pencere hızla kapanıyorsa PAUSE'u kullanın. Sonucu görüntülemenize ve herhangi bir düğmeye basarak komut dosyasını tamamlamanıza olanak tanır.
    R.E.M. Yorum yapmanın ikinci yolu. Aksine:: eğer @ECHO off yapısı yoksa ekrana yazdırılır.
    VARDİYA Bir yarasa dosyasındaki toplu iş parametrelerinin konumunu değiştirir.
    BAŞLANGIÇ Programları, pencereleri vb. başlatır. Birçok özelliği var.

    Daha fazlası için Detaylı Açıklama bat dosya kodunu okuyun, Windows yardımını okuyun

    Toplu iş veya toplu iş dosyaları, yorumlayıcı komut kümelerini içeren ve yarasa veya cmd uzantısına sahip sıradan metin dosyalarıdır (cmd yalnızca NT ailesi işletim sistemlerinde çalışır). Bu tür dosyaları not defterini veya başka bir metin düzenleyiciyi kullanarak düzenleyebilirsiniz.

    Not defterini açın ve aşağıdaki iki satırı yazın:

    @echo Bu toplu iş dosyası
    @Duraklat

    Bu toplu iş dosyası
    Devam etmek için herhangi bir tuşa basın...

    Herhangi bir tuşa bastıktan sonra pencere kapanacaktır çünkü bat dosyası tamamlandı.
    Yarasa dosyasındaki her komutun önündeki köpek sembolünün, komutun kendisinin ekranda görüntülenmesine gerek olmadığını, yalnızca işleminin sonucunun görüntülenmesi gerektiğini lütfen unutmayın. Denemek için her satırın başındaki köpek karakterini kaldırın, elde edilen yarasa dosyasını kaydedin ve çalıştırın.

    Kullanılan komutlar yarasa dosyası X

    Yarasa dosyalarında kullanılabilecek komutların listesi girilerek görüntülenebilir. Komut satırı(Windows NT ailesi için Başlat - Çalıştır - cmd veya 9x ailesi için Başlat - Çalıştır - komutu) komutu

    Yardımın sonucu, kısa açıklamalarla birlikte mevcut komutların bir listesidir. Daha fazla almak için detaylı bilgiİlgilendiğiniz komut için komut satırına yardım komut_adı yazın. Örneğin, AT komut tuşları hakkında ayrıntılı yardım almak için aşağıdaki komutu çalıştırın:

    Sonuç olarak, AT komutunu bir yarasa dosyasından çalıştırmak için kullanılan tuşların listesi ekranda görüntülenecektir.
    Yarasa dosyası altında yürütülürse Windows kontrolü(saf DOS'ta değil), herhangi bir uygulamayı çalıştırabilir veya ondan dosya açabilirsiniz. Örneğin bat dosyasının log dosyasını çalışması tamamlandıktan sonra otomatik olarak açmanız gerekiyor. Bunu yapmak için yarasa dosyasına eklemeniz yeterlidir son satır aşağıdaki komut:

    dosyaadı.txt dosyasını başlat

    Bu komutu yürütmenin sonucu dosyaadı.txt dosyasının açılması olacak ve yarasa dosyasının kendisi işini tamamlayacaktır. Günlük dosyası değilse bu yöntem iyidir. büyük beden aksi halde Not Defteri onu açmayı reddederek WordPad kullanmanızı önerir. Ancak daha sonraki örneklerde de görüleceği gibi bu sorun da çözülebilir.

    Yarasa dosyalarının başlatılması nasıl otomatikleştirilir

    Çoğu zaman, rutin işlemlerini gerçekleştirmek için yarasa dosyalarının başlatılmasını otomatikleştirmek gerekir. Yarasa dosyalarını belirli bir programa göre çalıştırmak için, Windows'un standart teslimatına dahil olan Zamanlayıcı en uygunudur. Bu yardımla, bir toplu iş dosyasının belirli günlerde veya saatlerde, belirli aralıklarla başlatılmasını çok esnek bir şekilde yapılandırabilirsiniz. Birden fazla program vb. oluşturabilirsiniz.

    Toplu iş dosyalarını yerel olarak başlatmak için üçüncü tarafların çözümlerini kullanabilirsiniz; neyse ki standart Zamanlayıcının çok sayıda ücretli ve ücretsiz alternatifi var.

    Toplu dosyalar, etki alanlarında oturum açma komut dosyaları olarak da kullanılabilir. Bu şekilde kullanıldığında, isteği ne olursa olsun, kullanıcının ağa her giriş yaptığında yürütülürler. Onların yardımıyla, kullanıcı bilgisayarlarında kurulu makineler veya yazılımlar hakkında bilgi toplanmasını otomatikleştirebilir, değişikliği zorlayabilirsiniz. Windows ayarları, kullanıcı tarafından fark edilmeden yükleyin yazılım ve manuel olarak yürütülmesi çok zaman alacak diğer görevlerin çözümünü otomatikleştirin.

    Yarasa dosyasından rastgele bir adla dosya nasıl oluşturulur

    Bir toplu iş dosyası çalışırken dosya oluşturmak için yeniden yönlendirme sembolü kullanılır. Şuna benziyor:
    >
    Onlar. Bir dosya oluşturmak için akışı ekrandan dosyaya yönlendirmeniz gerekir. Bu, aşağıdaki komut kullanılarak yapılabilir:

    @echo Başlangıç ​​dosyası>C:\1.txt

    Bu komutu yürüttükten sonra bir Metin dosyası satır Başlangıç ​​dosyasıyla.
    Bir dosya oluştururken, sistem değişkenlerini veya bunların bir kısmını dosya adında kullanabilirsiniz. Örneğin, bir yarasa dosyasının çalışması hakkında, yarasa dosyasının başlatıldığı tarihe eşit bir adla bir rapor dosyası oluşturabilirsiniz. Bunun için bat dosyasında aşağıdaki satırları kullanabilirsiniz.

    tarih ayarını ayarla=%tarih:~-10%
    @echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

    Bu iki satır şu şekilde çalışır. Öncelikle hafızada DATE sistem değişkeninden sağdan sola doğru 10 karakter atadığımız bir datetemp değişkeni oluşturuyoruz. Böylece, datetemp geçici değişkeni artık yalnızca geçerli tarihi içerir. Bir sonraki satırda nokta karakterinin çıktısını, ismini datetemp değişkeninden aldığımız ve txt uzantısını açıkça belirttiğimiz bir dosyaya yönlendiriyoruz. Dosya şu tarihte oluşturulacak: sistem diski bat dosyasının çalıştığı bilgisayar.

    Yönetici ağdaki bilgisayarlar hakkında bilgi topladığında, bilgisayar adını dosya adına eklemek daha uygun olabilir. Bu, aşağıdaki komut kullanılarak kolayca yapılabilir:

    @echo .>C:\KlasörAdı\%BİLGİSAYARADI%.txt

    Bu komut, toplu iş dosyasının yürütülmesi sırasında, C sürücüsünde toplu iş dosyasının yürütüldüğü bilgisayarın adını içeren bir metin dosyası oluşturacaktır.
    Belirli bir adda bir dosya oluşturmak için herhangi bir sistem değişkenini kullanabilir veya sistem değişkenlerine ve/veya diğer verilere dayalı olarak kendi dosyanızı oluşturabilirsiniz.

    Yarasa dosyasından klasör nasıl oluşturulur

    Bir klasör oluşturmak için MKDIR komutunu veya onun kısaltılmış eşdeğeri MD'yi kullanın. Yarasa dosyasından bir klasör oluşturmak için aşağıdaki komutu kullanmanız gerekir:

    Bu komutu çalıştırdıktan sonra bat dosyasının başlatıldığı klasörde bir KlasörAdı klasörü oluşturulacaktır. Yarasa dosyasını başlattığınız yerden farklı bir konumda (örneğin D sürücüsünün kökünde) bir dosya oluşturmak için, yeni klasörün konumunun açık bir göstergesini kullanın. Komut şöyle görünecek:

    MD D:\KlasörAdı

    Klasörler oluştururken sistem değişkenlerini kullanabilirsiniz. Örneğin, D sürücüsünün kökünde geçerli kullanıcının adını taşıyan bir klasör oluşturabilirsiniz. Bunu yapmak için %USERNAME% değişkenine ihtiyacınız olacak ve komut şu şekilde görünecektir:

    MD D:\%KULLANICI ADI%

    Komutu daha da karmaşık hale getirebilir ve bilgisayarının sistem sürücüsünde mevcut kullanıcının adını taşıyan bir klasör oluşturabilirsiniz. Bunun için komut şöyle görünecektir:

    MD %SYSTEMDRIVE%\%USERNAME%

    Klasörler veya dosyalar oluştururken herhangi bir sistem değişkenini veya bunların bir kısmını kullanabilirsiniz. Aşağıdaki örnek, kullanıcının bilgisayarının sistem sürücüsünde geçerli tarihe eşit ada sahip bir klasörün nasıl oluşturulacağını gösterir.

    tarih ayarını ayarla=%tarih:~-10%
    MD %SYSTEMDRIVE%\%datetemp%

    Bu tasarım şu şekilde çalışır.
    İlk komut, bellekte, yarasa dosyası sona erdiğinde yok edilecek olan bir datetemp değişkeni oluşturur. Yarasa dosyası işini bitirinceye kadar bu değişkenin değeriyle işlem yapmak mümkündür. Datetemp değişkenine, DATE sistem değişkeninin sağından soluna 10 karakter atanır; geçerli tarihten itibaren. DATE değişkeni Gün GG.AA.YYYY biçimindedir. Soldan ilk karakterler haftanın gününün adıdır, bu nedenle onları atıyoruz ve geçici değişken datetemp'e yalnızca geçerli tarihi atadık.
    Bu, klasör oluştururken olasılıkların listesini sınırlamaz. Benzersiz, okunması kolay adlara sahip klasörler oluşturarak değişkenleri istediğiniz gibi değiştirebilirsiniz. SET komutunu kullanarak tüm değişkenlerin bir listesini alabilirsiniz.

    Komut yürütmenin sonucu bir dosyaya nasıl yönlendirilir

    Genellikle karmaşık bir yarasa dosyasını çalıştırırken otomatik mod Birçok nedenden dolayı çalışmalarının sonuçlarını doğrulamak zor olabilir. Bu nedenle toplu iş dosyası komutlarının sonuçlarını bir metin dosyasına (günlük dosyası) yazmak daha kolaydır. ve ardından bu günlüğü kullanarak yarasa dosyasının doğru çalışmasını analiz edin.
    Yarasa dosyası komutlarının sonucunu bir günlük dosyasına yönlendirmek oldukça basittir. Aşağıda bunun nasıl yapılabileceği gösterilecektir.
    Aşağıdaki içeriğe sahip bir .bat dosyası oluşturun (bu satırları Not Defteri'ne kopyalayın ve dosyayı .bat uzantısıyla kaydedin):

    @Eko kapalı
    echo %time% başlat
    echo Test.txt oluştur
    yankı testi>C:\test.txt
    echo Test.txt'yi Old_test.txt'ye kopyalayın
    C:\test.txt C:\Old_test.txt dosyasını kopyalayın
    echo %time% durdur

    İlk satır komutların çıktısını devre dışı bırakır. Böylece, günlük dosyasına yalnızca bunların yürütülmesinin sonuçları yazılacaktır.
    İkinci satır, günlük dosyasına toplu iş dosyasının başlangıç ​​zamanını yazar.
    Üçüncü satır, günlük dosyasına aşağıdaki komutun bir test.txt dosyası oluşturacağına dair bir açıklama yazar.
    Dördüncü satırdaki komut, C sürücüsünün kökünden bir test.txt dosyası oluşturur. Dosya, örneğin oluşturulur. Bu komut test kelimesini C:\test.txt dosyasına yazar.
    Beşinci satır, günlük dosyasına, aşağıdaki komutun bir dosyayı bir konumdan diğerine kopyaladığına dair bir açıklama yazdırır.
    Altıncı satırdaki komut, oluşturulan C:\test.txt dosyasını C:\Old_test.txt dosyasına kopyalar; dosyanın bir kopyası yeni bir adla oluşturulur.
    Son yedinci satır, toplu iş dosyasının tamamlanma süresini görüntülemek için bir komut içerir. Toplu iş dosyasının başlangıç ​​zamanının günlük dosyasına kaydedilmesiyle birlikte bu iki zaman değeri, toplu iş dosyasının çalışma süresinin tahmin edilmesini mümkün kılar.

    Bu toplu iş dosyasını 1.bat gibi bir adla kaydedin
    Bir toplu iş dosyasının çalışmasına ilişkin raporu ayrı bir klasörde saklamak ve her gün yeni bir dosya adı ile rapor yazmak istediğimizi, böylece önceki günlere ait günlüklere herhangi bir gün erişebileceğimizi varsayalım. Ayrıca günlük dosyasının adını toplu iş dosyasının çalışma tarihi şeklinde almak istiyorum. Tüm bunları uygulamak için C sürücüsünde (örneğin) LOG adında bir klasör oluşturalım, yani. tam yolu C:\LOG gibi görünecektir. Oluşturduğumuz 1.bat toplu iş dosyasını aşağıdaki komutla çalıştıracağız:

    1.bat>C:\LOG\%tarih~-%10.txt

    Toplu iş dosyası Zamanlayıcı'dan başlatılacaksa, yarasa dosyasının tam yolunu belirtmeniz gerekir. Yolda boşluk varsa tırnak veya 8.3 biçimini kullanmanız gerektiğini unutmayın. Yani, örneğin yarasa dosyasının yolu C:\Program Files\1.bat ise, yarasa dosyasını çalıştırmak için Zamanlayıcı komut satırında aşağıdaki satırlardan birini belirtmeniz gerekir:

    "C:\Program Files\1.bat">C:\LOG\%date~-10%.txt
    C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

    1.bat dosyasını çalıştırdıktan sonra C:\LOG klasöründe yarasa dosyasının başlatıldığı tarihe eşit isimde bir dosya oluşturulacaktır, örneğin 01/13/2004.txt. 1.bat toplu dosyasının çalışması
    Sayfanın üst kısmındaki ilk listede bir örneği gösterilen yarasa dosyasını yukarıdaki komutu kullanarak çalıştırmak, aşağıdaki içeriğe sahip bir günlük dosyasının oluşturulmasına yol açacaktır:

    Başlangıç ​​19:03:27.20
    Test.txt oluştur
    Test.txt'yi Old_test.txt'ye kopyalayın
    Kopyalanan dosyalar: 1.
    Dur 19:03:27.21

    Bu nedenle, bir yarasa dosyasının sonuçlarını bir günlük dosyasına yönlendirmek için yeniden yönlendirme sembolünü kullanmanız gerekir > Sözdizimi aşağıdaki gibidir:

    Yol\DosyaAdı.bat>Yol\LogDosyaAdı.txt

    Günlük dosyası uzantısı herhangi bir şey olabilir. İstenirse, bir toplu işin yürütülmesine ilişkin bir rapor formda bile biçimlendirilebilir. HTML sayfaları(ilgili etiketler, örnek 1.bat'ta yorumların çıkışıyla aynı şekilde bir günlük dosyasına çıkarılabilir) ve bunu kurumsal sunucuya kopyalayın.

    Onay isteğine otomatik olarak nasıl yanıt verilir?

    Bazı komutlar yürütüldüğünde potansiyel olarak tehlikeli bir eylemin onaylanmasını gerektirir. Örneğin, format veya del gibi komutlar, daha fazla yürütülmeden önce ilk olarak onay isteyecektir. Bu komutlardan biri bir toplu iş dosyasında yürütülürse, onay istemi toplu iş dosyasının yürütülmesini durduracak ve kullanıcının verilen seçeneklerden birini seçmesini bekleyecektir. Ayrıca, bir toplu iş dosyasının yürütülmesinin sonucu bir günlük dosyasına yönlendirilirse, kullanıcı bir onay isteği görmez ve toplu iş dosyası donmuş görünür.

    Bu tür sorunları düzeltmek için istediğiniz yanıtı komuta yönlendirebilirsiniz. Onlar. uygulamak ters eylem komutun çıktısını bir dosyaya yönlendirmek için.
    Potansiyel olarak tehlikeli bir eylemi onaylama isteğinin nasıl göründüğüne dair bir örneğe bakalım. Örneğin C sürücüsünde bir Klasör klasörü oluşturalım. Herhangi iki dosyayı oluşturalım veya içine kopyalayalım. Daha sonra komut satırını açın ve aşağıdaki komutu çalıştırın:

    Bu komut, belirtilen klasördeki tüm dosyaları kaldırmalıdır. Ancak önce aşağıdaki içeriği onaylamanız istenecektir:

    C:\Klasör\*, Devam Edilsin mi?

    Komut, Y tuşuna veya N tuşuna basılana kadar çalışmayı durduracaktır.Bir toplu iş dosyasını otomatik modda çalıştırırken, yürütülmesi duracaktır.
    Bunu önlemek için yönlendirmeyi kullanıyoruz. Yönlendirme sembolü kullanılarak gerçekleştirilir
    Dikey çizgi, sembolün ekranda görüntülenmesi yerine, sembolün ardından gelen komuta “verilmesi” gerektiğini belirtir. Yönlendirmeyi kontrol edelim. Komut satırında aşağıdaki komutu çalıştırın:

    echo Y|del C:\Klasör

    Ekranda, Klasör klasöründeki tüm dosyaların silinmesini onaylamak için bir istek görüntülenecektir, ancak olumlu bir yanıt (Y) verilecektir. Tüm dosyalar şuradan: klasörler silinecek.
    Bu komuta dikkat edin.

    Bir toplu iş dosyası yürütülürken görüntülenen komutlar nasıl devre dışı bırakılır

    Bir toplu iş dosyasını çalıştırırken, komutun sonuçlarına ek olarak komutların kendisi de görüntülenir. Komut çıktısını bastırmak için @ sembolünü kullanabilirsiniz.
    Ekranda tek bir komutun yazdırılmasını önlemek için komutun başına @ işareti koyabilirsiniz.

    Bu komut, echo Testing komutunu ve bir sonraki satırda - işleminin sonucunu, Test kelimesini görüntüleyecektir.

    Bu komut yalnızca komutun sonucunu görüntüler; Test kelimesi. Komutun kendisi çıktılanmayacaktır.
    Tüm dosyanın yürütülmesi boyunca komutları ekranda görüntülemeniz gerekmiyorsa, toplu iş dosyasındaki ilk satır olarak aşağıdaki komutu yazmak daha kolaydır:

    Bu komut, toplu iş dosyasının tamamı boyunca ekrana komut çıktısını devre dışı bırakacaktır. Komutun kendisinin yazdırılmasını önlemek için @ simgesiyle başlar.

    Bir yarasa dosyasından başka bir yarasa dosyası nasıl çalıştırılır

    Bazen bir toplu iş dosyasını çalıştırırken başka bir toplu iş dosyasını çalıştırmak gerekli olabilir. Ayrıca, bazı durumlarda, yardımcı dosya yürütülürken ana toplu iş dosyasının yürütülmesinin askıya alınması gerekir, diğerlerinde ise yardımcı dosyanın ana dosyaya paralel olarak çalışması gerekir.
    Örneğin iki tane yarasa dosyası oluşturalım. 1.bat adında ve yalnızca bir komut içeren bir tane

    İkincisi 2.bat olarak adlandırılır ve ayrıca bir komut içerir.

    Şimdi 1.bat dosyasını çalıştıralım, devam etmek için herhangi bir tuşa basmanız istenecek bir pencere açılacak, bastıktan sonra pencere kapanacaktır. Bu nedenle, bir toplu iş dosyasının diğerine çağrı komutunu kullanarak çağrılması, çağrı komutu tarafından çağrılan toplu iş dosyası yürütmeyi tamamlayana kadar toplu iş dosyasının yürütülmesini durdurur.

    Başka bir durumda, ana toplu iş dosyasının yürütülmesini kesintiye uğratmadan bir uygulamayı veya başka bir toplu iş dosyasını bir yarasa dosyasından başlatmanız gerekir. Bunun genellikle, örneğin gece için planlanan bir toplu iş dosyasının günlüğünü zorla açarak yapılması gerekir, böylece sabahları kullanıcı, yürütmenin doğruluğunu kontrol edebilir. Bu amaçla kullanılır komutu başlat 1.bat dosyasındaki satırı düzeltelim.

    ve 1.bat dosyasını çalıştırın.Artık devam etmek için herhangi bir tuşa basmanız gereken bir pencere açıldı ve ana toplu iş dosyasının (1.bat) penceresi kapandı.
    Bu nedenle, ilk toplu iş dosyasını durdurmadan bir toplu iş dosyasından başka bir toplu iş dosyasını çağırmak için start komutunu kullanmanız gerekir.
    Yukarıda tartışılan başlatma ve arama komutları yalnızca diğer toplu dosyaları başlatmak için değil, aynı zamanda herhangi bir uygulamayı başlatmak veya dosyaları açmak için de kullanılabilir.
    Örneğin, bir toplu iş dosyasının gövdesindeki start log.txt komutu, toplu iş dosyasını durdurmadan log.txt dosyasını Not Defteri'nde açacaktır.

    Yarasa dosyasından nasıl mesaj gönderilir

    Ağdaki makinelerden birinde bir toplu iş dosyası yürütülürken, yöneticinin makinesine gönderilen bir mesajı kullanarak yöneticiye yürütmenin tamamlandığını bildirmek uygundur. Bunu toplu iş dosyasına komutu ekleyerek yapabilirsiniz.

    net gönder adı Mesaj metni

    Burada ad, mesajın gönderildiği makinenin veya kullanıcının adıdır ve Mesaj metni, mesajın metnidir. Bu komutu çalıştırdıktan sonra kullanıcı adına bir mesaj gönderilecektir.
    Lütfen bir mesajın metninde Kiril alfabesini kullanırken metnin MS-DOS kodlamasında (866 kod sayfası) yazılması gerektiğini unutmayın. Aksi takdirde mesaj okunamayan karakterler halinde gelecektir. Bu kodlamayı destekleyen herhangi bir metin düzenleyiciyi kullanarak DOS kodlamasında metin yazabilirsiniz. Bu örneğin FAR olabilir. FAR'da (F4) düzenlemek için bir toplu iş dosyası açın ve F8 düğmesine basın. İÇİNDE üst çizgi editör, DOS kodlaması belirtilmeli ve aşağıda ipucunda belirtilmelidir. kısayol tuşları F8 tuşunda, geçerli kodlamanın DOS olduğunu belirten Win yazısı bulunmalıdır ve Win kodlamasına geçmek için F8 tuşuna basmanız gerekir.

    Türe göre dosya silme işlemi nasıl otomatikleştirilir

    Diskinizi geçici dosyalardan temizlemek için şu komutu kullanabilirsiniz:

    del /f /s /q C:\*.tmp

    Nerede
    /f - salt okunur öznitelik ayarlanmış olsa bile tüm dosyaları siler
    /s - tüm alt dizinlerdeki dosyaları siler
    /q - dosya silme işlemini onaylama isteğini devre dışı bırakır
    C: dosyaların bulunacağı ve silineceği sürücüdür. Diskin tamamını değil, bir klasörü belirtebilirsiniz; örneğin, C:\WinNT
    *.tmp - silinecek dosya türleri

    /q anahtarına ve sildiğiniz dosya türlerine dikkat edin. Komut, izin istemeden siler ve yanlış dosya türü belirtilirse gereksiz dosyaları silebilir.

    Bir bilgisayarın IP adresi toplu iş dosyasından nasıl değiştirilir?

    IP adresi netsh komutu kullanılarak değiştirilebilir.
    IP adresini doğru şekilde değiştirmek için öncelikle mevcut yapılandırmayı bulmanız gerekir. Bu, komut satırında şu komut kullanılarak yapılabilir:

    netsh arayüzü ip adresi göster

    Bu komutun sonucu mevcut konfigürasyonu görüntülemektir. ağ Arayüzü. Arayüzün adıyla ilgileniyoruz. Diyelim ki adı FASTNET.
    IP adresini 192.168.1.42 olarak değiştirmeniz gerektiğini, ağ adreslemesinin statik olduğunu, DHCP kullanmadan, ağ geçidinin 192.168.1.1, maskenin 255.255.255.0 olduğunu varsayalım. Bu durumda çalıştırılması gereken komut toplu iş dosyası şöyle görünecek:

    netsh arayüzü ip seti adres adı = "FASTNET" statik 192.168.1.42 255.255.255.0 192.169.1.1 1

    Bu komutun çalıştırılmasından sonra FASTNET arayüzünün IP adresi 192.168.1.42 olarak değişecektir.
    netsh komutu kapsamlı yönetim yetenekleri sağlar ağ ayarları komut satırından. Başkalarıyla tanışmak için işlevsellik netsh / ile ilgili yardımı kullan?

    Bir bat dosyasından bilgisayar adı nasıl bulunur?

    Bir yarasa dosyasını çalıştırırken bilgisayar adını bulmak için (gelecekte bu değeri kullanmak için) şu komutu kullanın:

    Bu komut, çalıştığı bilgisayarın adını döndürür.

    Bir toplu iş dosyasındaki dosyalar maskeye göre nasıl yeniden adlandırılır?

    Bazen bir toplu iş dosyasındaki şablonu kullanarak bir klasördeki tüm dosyaları yeniden adlandırmak gerekebilir. Bu, yarasa dosyasındaki aşağıdaki komut kullanılarak yapılabilir:

    for /f "tokens=*" %%a in ("dir /b PATH\*.*") ren PATH\%%a Prefix%%a yapın

    Bu satırda, PATH\'i yeniden adlandırılacak dosyaların yolu ile ve Önek'i yeniden adlandırırken dosya adına eklenecek karakterlerle değiştirmeniz gerekir.
    Toplu iş dosyasını yeniden adlandırmanın gerçekleştiği klasöre koymayın, aksi takdirde o da yeniden adlandırılacaktır. Dosyaların yeniden adlandırıldığı klasörde alt klasörler varsa, alt klasörün adına da bir önek eklenecektir, ör. alt klasörler dosyalar gibi yeniden adlandırılacaktır.
    Yeniden adlandırmaya tabi olan dosya türleri için belirli bir maske belirtirseniz (örneğin, örnekteki gibi *.* yerine *.txt), yalnızca belirtilen türlerdeki dosyalar yeniden adlandırılacaktır. Diğer dosya ve klasörler yeniden adlandırılmayacaktır.

    İkinci seçenek:
    PATH=C:\test'i ayarlayın
    (*.txt) içindeki %%I için "%thePATH%\%%~nxI" "%%~nI.dat" yazın
    Toplu iş dosyasında yüzde simgesi nasıl kullanılır?

    Bir toplu iş dosyasında yüzde sembolünü (%) kullanmak için onu iki kez yazmanız gerekir. Örneğin
    yankı %50
    Yarasa dosyasındaki bu komut %50'yi gösterecektir. echo 50% komutunu kullanırsanız, ekranda yalnızca 50 sayısı görüntülenecektir.
    Toplu iş dosyalarını yazarken % sembolünü kullanırken bu özelliği dikkate alın.

    Kayıt defteri bir toplu iş dosyasından nasıl dışa aktarılır

    regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"

    Bu komut, toplu iş dosyasını çalıştırırken HKEY_CURRENT_USER\Environment dalını C:\environment.reg dosyasına dökecektir. HKEY_CURRENT_USER\Environment içindeki parametre değerlerini geri yüklemeniz gerektiğinde, ambient.reg dosyasını çalıştırmanız yeterli olacaktır. dosya. Bu komut, kayıt defterinde saklanan yazılım ve sistem ayarlarının günlük yedeğini almak için kullanılabilir.
    Çıkış dosyasının kaydedilmesi gereken yolda veya kayıt defteri kovanının adında bir boşluk varsa bunların tırnak içine alınması gerektiğini unutmayın.

    Bir toplu iş dosyasından kayıt defteri değişken değerleri nasıl içe aktarılır

    Önceden kaydedilmiş veya yeni değişken değerlerinin bir toplu iş dosyasından kayıt defterine aktarılması gerekiyorsa, bu komut kullanılarak yapılabilir.

    regedit.exe -s C:\environment.reg

    Bu komut, -s anahtarını kullanarak onay istemeden, ambient.reg dosyasındaki verileri kayıt defterine aktarır.

    Bir yarasa dosyasından tarih kontrolü nasıl atlanır

    Bazı yazılımlar başlangıçta mevcut sistem tarihini kontrol eder. Tarih geliştirici tarafından ayarlanan tarihten büyükse program başlamaz. Örneğin geliştirici, programın bir sürümünün bir ay boyunca çalışabileceğine ve ardından kullanıcının onu yüklemesi gerektiğine inanıyor Güncellenmiş versiyon programlar. Bir yandan bu, programın en son sürümünün, önceki sürümlere göre eksikliklerin giderilmesiyle birlikte sahip olacağı kullanıcı için bir endişe kaynağıdır. Öte yandan üretici kullanıcıyı indirmeye zorluyor Yeni sürüm Kullanıcı yüklediği programın sürümünden tamamen memnun olsa bile. Bu sorun Programı çalıştıracak, tamamlanmasını bekleyecek ve tarihi program başlatılmadan önceki haline döndürecek aşağıdaki toplu iş dosyası kullanılarak kolayca çözülebilir.

    tempdate'i ayarla=%tarih:~-10%
    tarih 01-01-04
    not defteri.exe
    tarih %tempdate%

    İÇİNDE bu örnekte Geçerli sistem tarihi önce bir değişkene kaydedilir, ardından (ikinci satırda) sistem tarihi 1 Ocak 2004 olarak ayarlanır ve ardından sistem tarihini kontrol eden bir program çağrılır. Bu örnekte Not Defteri'dir. Not Defteri açık olduğu sürece toplu iş dosyası tamamlanmadan veya sistem tarihini geriye ayarlamadan bekler. Not Defteri kapatıldığında, toplu iş dosyası yürütülmeye devam edecek ve sistem tarihini tempdate değişkeninde saklanan değere ayarlayacaktır; toplu iş dosyasını çalıştırmadan önceki dosyaya.

    Programı çalıştıran dosyanın yolu boşluk içeriyorsa, o (yolun) tırnak içine alınması gerektiğini unutmayın. Yol Kiril alfabesi içeriyorsa, bir toplu iş dosyası yazarken DOS kodlamasını destekleyen bir metin düzenleyici (örneğin, FAR) kullanmanız gerekir. Aksi takdirde, toplu iş dosyasını çalıştırırken şunu belirten bir mesaj görüntülenecektir: " belirtilen dosya dahili veya harici bir komut değildir...".

    Bir program geçerli sistem tarihini yalnızca başlatıldığında kontrol ederse ve bunu çalışma sırasında tekrar yapmazsa, toplu iş dosyası, programın yürütülebilir dosyasının adının önüne eklenerek değiştirilebilir. operatörü başlat yani örneğimiz şöyle görünecek:

    tempdate'i ayarla=%tarih:~-10%
    tarih 01-01-04
    notepad.exe'yi başlat
    tarih %tempdate%

    Bu durumda toplu iş dosyası sistem tarihini değiştirecek, programı başlatacak ve tamamlanmasını beklemeden tarihi program başlatılmadan önceki tarihe döndürecektir.

    Bir yarasa dosyasında görünüm nasıl beklenir belirli dosya

    Bazen belirli bir dosya bir klasörde göründüğünde bazı eylemlerin gerçekleştirilmesi gerekebilir. Bir dosyanın klasördeki görünümüne ilişkin bir kontrol düzenlemek için aşağıdaki toplu iş dosyasını kullanabilirsiniz.

    :Ölçek
    eğer varsa c:\1.txt git
    10'da uyu
    teste git
    :Gitmek
    not defteri

    Böyle bir toplu iş dosyası, C sürücüsünün kökünde 1.txt dosyasının varlığını 10 saniyelik aralıklarla kontrol edecek ve 1.txt dosyası göründüğünde go etiketinden sonra belirtilen eylem gerçekleştirilecektir; bu örnek Not Defteri'ni başlatacaktır.
    Sleep yardımcı programı, Kaynak Kitinin bir parçası olarak ücretsiz olarak dağıtılır. Buradan indirebilirsiniz.
    1.txt dosyası büyükse ve bir yerden kopyalanıyorsa, dosya henüz kopyalanmamışken veya başka bir uygulamayla meşgulken toplu iş dosyası varlığını kontrol edebilir. Bu durumda 1.txt dosyası ile bazı işlemleri yapmaya çalışmak hatayla sonuçlanacaktır. Bunun olmasını önlemek için toplu iş dosyası aşağıdaki gibi değiştirilebilir

    :Ölçek
    eğer varsa c:\1.txt git
    10'da uyu
    teste git
    :Gitmek
    c:\1.txt 1.txt'yi yeniden adlandırın
    hata düzeyi 0 değilse git
    del c:\1.txt

    1.txt dosyası C sürücüsüne tamamen kopyalanmadığında veya başka bir uygulama tarafından kullanıldığında, dosyayı yeniden adlandırma girişimi bir hataya neden olur ve dosya tamamen kopyalanana veya serbest bırakılana kadar döngü tekrarlanır. c:\1.txt 1.txt yeniden adlandır komutu hatasız bir şekilde yürütüldükten sonra (yani dosya ücretsizdir), onunla herhangi bir işlem gerçekleştirebilirsiniz. Son örnekte onu kaldırıyor.

    Yarasa dosyasına nasıl yorum eklenir?

    Büyük bir toplu iş dosyası yazarken ana bloklarına yorum eklemek çok faydalıdır. Bu, bu blokların zaman içinde ne yaptığını anlamayı kolaylaştıracaktı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. Birinci işletim sistemi Microsoft tarafından geliştirilen MS DOS'un GUI'si yoktu ve kontrol, metin komutları girilerek yapılıyordu. 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ı (bir metin dosyası) oluşturarak görevi önemli ölçüde basitleştirebilirsiniz. BAT uzantısı işlenecek talimatların bir listesini içeren komut yorumlayıcısı CMD. 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 bat uzantılı bir dosya oluşturmak zor değil ancak 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 dosyayı çalıştırmanıza olanak tanır ve toplu dosyalar davetsiz de dahil olmak üzere gizli modda.

    Ş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.

    Rusya Federasyonu Eğitim Bakanlığı

    TOPLU DOSYALARLA ÇALIŞMA

    ÇEVREDEPENCERELER

    ders "İşletim sistemleri"

    uzmanlık öğrencileri için 220200

    tam zamanlı eğitim

    Onaylı

    yazı işleri ve yayın konseyi

    Saratov Eyaleti

    teknik Üniversite

    Saratov 2010

    TOPLU DOSYALARLA ÇALIŞMA

    BİR PENCERE ORTAMINDA

    Laboratuvar çalışması için yönergeler

    ders "İşletim sistemleri"

    Yorumcu A.F. Rezçikov

    Editör O.A. Panina

    11/14/01 tarihli Lisans No. 06268

    Basılmak üzere imzalandı 10.27.10 Format 60x84 1/16

    Saratov Devlet Teknik Üniversitesi

    410054 Saratov, st. Politekhnicheskaya, 77

    giriiş

    Yönergelerde toplu iş dosyalarının yapısı, bu dosyaları oluşturma yöntemleri ve çeşitli işlemlerin yürütülmesini otomatikleştirme yöntemleri açıklanmaktadır.

    Kılavuzlar, komut yorumlayıcısının bir tanımını, toplu iş dosyalarının yapısını, toplu iş dosyalarında kullanılan işlevlerin bir tanımını, eğitim sorununa yönelik çözüm örneklerini, laboratuvar çalışmasını gerçekleştirmek için bir görevi, laboratuvar çalışması hakkında bir rapor hazırlamak için gereklilikleri içerir. ve bu laboratuvar çalışmasını tamamlamak için gerekli literatürün bir listesi.

    Kılavuzlar 220200 uzmanlık öğrencilerine yöneliktir ve sistem programlarının geliştirilmesiyle ilgili diğer uzmanlık öğrencileri tarafından da kullanılabilir.

    İşin amacı: toplu iş dosyaları oluşturmak, kurulum sırasında çeşitli görevlerin yürütülmesini otomatikleştirmek ve Windows'u önyükleme, optimizasyon ve sistemin güvenilirliğinin arttırılması.

    Komut Yorumlayıcı ve Toplu Dosyalar

    Toplu dosya grup dosya) - MS-DOS, OS/2 veya Windows'ta, komut yorumlayıcısı tarafından yürütülmesi amaçlanan bir dizi komut içeren bir metin dosyası. Bir toplu iş dosyasını çalıştırdıktan sonra, bir yorumlayıcı program (genellikle COMMAND.COM veya CMD.EXE) dosyayı satır satır okur ve komutları sırayla yürütür.

    Windows, Başlat menüsünden başlatılabilen commad.com ve cmd.exe olmak üzere iki komut yorumlayıcısı kullanır (Başlat->Çalıştır->cmd ->OK veya Başlat->Çalıştır->commad ->OK). İncirde. Şekil 1, DOS/Windows komutları için yardımın kullanılma olasılığını göstermektedir. Yardıma, komut satırına help yazılarak ulaşılabilir.

    Şekil 1 Komut yorumlayıcısı commad.com

    İncirde. Şekil 2, file_name.extension copy con komutunu kullanarak yeni bir dosya oluşturma olasılığını göstermektedir.

    R
    2'dir. Komut yorumlayıcısı cmd.exe

    Toplu iş dosyalarının (*.cmd veya *.bat) kullanılması, Windows'u yüklerken ve başlatırken çeşitli görevlerin otomatikleştirilmesine yardımcı olur. Bu durumda herhangi bir kullanıcı müdahalesine gerek yoktur. Bu dosyalar şunlardan yapılabilir: cmdlines.txt, svcpack.inf, RunOnceEx kayıt defterindeki bir bölümden veya bir dosyadaki bölümden winnt.sif.

    Toplu dosyalar, komut satırından yürütülebilecek tüm komutları destekler. Komut satırını görmek için aşağıdakileri yapmanız yeterlidir: Başlat->Çalıştır->cmd->Tamam

    Basit bir toplu iş dosyasına bakalım. Bunu yapmak için Not Defteri'ni açın ve içine aşağıdaki metni yazın:

    TITLE Toplu Dosya Testi

    ECHO Merhaba Dünya

    ECHO Not Defteri'ni Başlatma

    Not defterini BAŞLAT

    EKO. ECHO Wordpad'i Başlatma

    Wordpad'i BAŞLAT

    EKO.

    ÇIKIŞ

    Daha sonra dosyayı herhangi bir adla ve herhangi bir konuma, ancak *.cmd uzantısıyla (ve Notepad'in varsayılan olarak atadığı .txt değil) kaydetmeniz gerekir. Bu dosyayı çalıştırdığınızda, pencereye "Toplu Dosya Testi" adını verecek, Not Defteri ve WordPad'i başlatacak, devam etmek için herhangi bir tuşa basmanızı isteyecek ve pencereyi kapatacaktır.

    tablo 1

    Toplu iş dosyasında kullanılan komutların anlamları

    @Eko kapalı

    C:\> satırını ve toplu iş dosyasında kullanılan tüm komutları gizler

    Satırlar arasında boşluk yaratır

    yankı mesajı

    Yalnızca bilgilendirme amaçlı bir pencerede mesaj görüntüler

    Pencere başlığı

    Bir uygulama veya yükleme işlemini başlatır

    "Devam etmek için herhangi bir tuşa basın..." mesajını görüntüler

    Komut satırını kapatır

    Kurulumdan otomatik kurulum için bir uygulama eklerken XP diski komutlar şu şekilde görünecektir:

    başlat /bekle %systemdrive%\install\some_application\setup.exe /anahtar / Daha anahtar,

    start uygulamanın kurulumunu başlatacak ve /wait bir sonraki uygulamayı kurmadan önce kurulumun bitmesini bekleyecek. /wait kullanımı çok önemlidir çünkü... aksi takdirde birden fazla uygulamanın kurulumu aynı anda başlayacak ve çakışmalar kaçınılmaz olacaktır.

    Toplu dosyalar şuradan başlatılabilir: cmdlines.txt veya svcpack.inf Windows kurulumunun T-13/T-12 aşamasında yürütülecektir (T-13, kurulumun tamamlanmasına 13 dakika kala anlamına gelir). cmdlines.txt Kullanıcı Ekleme gibi görevler veya önceden hazırlanmış HKEY_CURRENT_USER kayıt defteri anahtarlarını Varsayılan Profil'e aktarmak için kullanışlıdır.

    Svcpack.inf yöntemi genellikle güncellemeleri (düzeltmeler) yüklemek için kullanılır. Ancak, bir toplu iş dosyasını başka bir düzeltme olarak değerlendirmenizi engelleyen hiçbir şey yoktur.

    Örnek toplu iş dosyası içerikleri:

    @Eko kapalı

    BAŞLIK Windows XP SP2 - Katılımsız Kurulum

    ECHO Önümüzdeki birkaç dakika içinde otomatik kurulumları göreceksiniz

    Çeşitli yazılım uygulamalarının ECHO'su, ve kayıt defteri ince ayarlar

    ECHO uygulandı.

    ECHO Duvar Kağıtları ve Ekran Koruyucular Kaldırılıyor...

    DEL "%systemroot%\*.bmp"

    DEL "%systemroot%\Web\Wallpaper\*.jpg"

    DEL "%systemroot%\system32\dllcache\*.scr"

    DEL "%systemroot%\system32\*.scr"

    ECHO İşe yaramaz kısayollar kaldırılıyor...

    Güncelleme.lnk"

    DEL "%systemdrive%\Belgeler ve Ayarlar\Tüm Kullanıcılar\Başlat Menüsü\Ayarla

    Program Erişimi ve Varsayılanlar.lnk"

    DEL "%systemdrive%\Belgeler ve Ayarlar\Tüm Kullanıcılar\Başlat Menüsü\Windows

    Katalog.lnk"

    ECHO TweakUI 2.10 Powertoy Kurulumu

    ECHO Lütfen bekleyin...

    başlat /bekle %systemdrive%\Install\TweakUI.msi /qn

    ECHO Kayıt Defteri Düzenlemeleri Uygulanıyor...

    REGEDIT /S %systemdrive%\Install\RegTweaks.reg

    ECHO ASP.NET'i Silmek Kullanıcı hesabı tarafından yaratıldı . NET Çerçevesi 1.1...

    net kullanıcı aspnet / sil

    Bu toplu iş dosyası, sistem tarafından varsayılan olarak yüklenen duvar kağıtlarını ve ekran koruyucuların yanı sıra bazı kısayolları da kaldırır. Daha sonra TweakUI'yi yükler, kayıt defteri anahtarlarını içe aktarır ve .NET Framework yüklenirken oluşturulan ASP.NET hesabını siler.

    Harici arama toplu dosyalar:

    1. Çağrılan dosya yürütüldükten sonra kontrol, çağıran dosyaya aktarılmaz.

    @ EKO KAPALI

    R.E.M.Liste çıktısıkayıt-Dosyalar

    YÖN C:\*. kayıt

    R.E.M.Yürütmeyi bir dosyaya aktarmaF. yarasa

    KOPYA A:\*.* C:\

    2. Çağrılan dosya yürütüldükten sonra kontrol, çağıran dosyaya aktarılır:

    @EKO KAPALI

    R.E.M.Liste çıktısıkayıt-Dosyalar

    DIR C:\*.log

    R.E.M.Yürütmeyi bir dosyaya aktarmaF. yarasa

    f.bat'ı ARAYIN

    KOPYA A:\*.* C:\

    Dosyacmdlines.txt bunu $OEM$ dizinine koymanız gerekir; Windows kurulum sırasında onu otomatik olarak bulacaktır. Tüm toplu iş dosyaları şuradan başlatıldı: cmdlines.txt ile aynı dizinde olmalıdır cmdlines.txt.

    Dosyasvcpack.inf kurulum diskindeki I386 dizinine kaydedilir (bunu oradan silmelisiniz) svcpack.in_). Tüm toplu iş dosyaları şuradan başlatıldı: svcpack.inf, dosyanın kendisinde aksi belirtilmediği sürece I386\svcpack dizininde bulunmalıdır.

    Toplu iş dosyaları, IF, FOR, SHIFT kontrol aktarım komutlarının yanı sıra komut satırından aktarılan parametreleri ve G/Ç yeniden yönlendirme operatörlerini >, >>, yaygın olarak kullanır.<, |. Полезными оказываются операторы: «+» ‑ слияния файлов, «?» ‑ замены одного символа в имени файла или расширении, «*» ‑ замены нескольких символов в имени файла или расширении.

    Sistem adları şunlardır: CON, NULL, AUX, COM1, COM2, PRN, LPT1, LPT2. Dosya olarak adlandırılamazlar.

    Bilgisayar kullanıcılarının artık bilgi olmadan kolaylıkla yapabilecekleri gerçeğine rağmen DOS, özellikle yeni işletim sisteminden beri DOS Görünüşe göre tamamen yok olacak, Windows'un herhangi bir nedenle başlamak istemediği ve yalnızca komut satırının mevcut olduğu acil durumlarda bilgileri yararlı olabilir. Yardım komutunu çalıştırarak komutlarla ilgili yardım alabilirsiniz.

    Görevler

    1. İki dizin oluşturun. Bunlardan birini farklı uzantılara sahip birkaç dosyayla doldurun. for anahtar sözcüğünü kullanarak, parametre olarak belirtilen uzantıya sahip tüm dosyaları bir dizinden diğerine aktaran bir yarasa dosyası yazın. rem kullanarak yorum eylemleri

    2. Bir dizin oluşturun. İki tür uzantıya sahip birkaç dosyayla doldurun. for anahtar sözcüğünü kullanarak, belirli bir dizindeki tüm dosyaları belirli bir dizinden bir dosyaya, ikincisinden de diğerine kopyalayan bir yarasa dosyası yazın.

    3. Bir dizin oluşturun. Farklı uzantılara sahip birkaç dosyayla doldurun. for anahtar sözcüğünü kullanarak .txt uzantılı tüm dosyaları silen bir yarasa dosyası yazın.

    4. Kullanıcı yetkilendirmesini gerçekleştiren, ekranda tarih ve sistem saatini görüntüleyen, başlatılacak toplu iş dosyasının bulunduğu dizinin adını belirleyen, bu dizinde yeni bir dosya oluşturup standart çıktıyı yönlendiren bir toplu iş dosyası oluşturun. bu dosya, yani bir günlük dosyası oluşturun.

    6. Kullanıcı yetkilendirmesi gerçekleştiren, ekranda tarih ve sistem saatini görüntüleyen, geçerli tarihe eşit adda bir klasör oluşturan, bu klasörde isteğe bağlı bir adla (kullanıcı tarafından tanımlanan) bir dosya oluşturan bir toplu iş dosyası oluşturun, 1'den 10'a kadar çıktı sayıları.

      Toplu iş dosyalarının yapısını inceleyin.

      Kılavuzlarda açıklanan örnekleri uygulayın.

      Öğretmeninizden bir ödev alın ve tamamlayın.

      Bir rapor hazırlayın.

    Raporlama gereksinimleri

      Baş sayfa.

      İşin amacı ve işin gerçekleştirilme görevi.

      Toplu dosya testi.

      Toplu iş dosyasının yürütülmesinin ekran görüntüleri.

      Çalışmayla ilgili sonuçlar.

    Kendi kendine test soruları

      Toplu dosya tanımı.

      Toplu iş dosyalarının amacı.

      Bir yarasa dosyası oluşturma.

      Temel komutlar.

    Kullanılan kaynakların listesi

      [Elektronik kaynak]: Toplu iş dosyalarının geliştirilmesi. – http://www.oszone.net/2245

    Herkes yarasa dosyaları yazabilir!

    Komut işlemcisi

    Microsoft tarafından geliştirilenler de dahil olmak üzere birçok işletim sistemi bir komut işlemcisi içerir. Bu, kullanıcının klavyeden girdiği komutlara yanıt olarak çeşitli eylemlerin yürütülmesini başlatan programın adıdır. Temel olarak bu eylemler, gerekli programların belirli parametrelerle başlatılmasından oluşur. Ama sadece o değil; Daha sonra bazı komutların doğrudan komut işlemcisi tarafından yürütüldüğünü göreceğiz. Temel olarak bunlar, komut yürütme bağlamını ve sırasını kontrol etmeye yarayan komutlardır. Ancak, en azından mecbur kalmadıkça, komutların doğası hakkında çok derinlemesine düşünmeyeceğiz. Daha da önemlisi, komut satırından çalıştırılması teknik olarak mümkün olan herhangi bir program, komut işlemcisi tarafından bir komut olarak kabul edilir. Başlangıçta işletim sistemine yerleşik yerel komutlar ile onun üzerine yüklenen programlar arasında ayrım yapmaz.

    Komut işlemcisini başlatmak için:

      Düğmeye tıklayın Başlangıç. Ana menü ekranda görüntülenecektir.

      Ana menüden Çalıştır'ı seçin. Ekranda bir iletişim kutusu görünecektir Programın başlatılması.

      Açık alanına dizeyi girin cmd.

      Düğmeye tıklayın TAMAM. Ekranda bir komut işlemci penceresi görünecektir.

    Komut satırı ve komutlar

    Komut işlemci penceresi orijinal haliyle kasvetli görünüyor ve onunla çalışmak çoğu insan için pek uygun değil. Norton Commander tarzı dosya yöneticilerini kullanmak çok daha kolaydır. Hem dosya sisteminde hızlı bir şekilde gezinmek için araçlar hem de komut girmek için zamanlama sağlarlar.

    Komuta girmek için:

      Komut metnini komut satırına yazın.

      tuşuna basın Girmek.

    Komut işlemcisi ve işletim sistemi komutları, ikincisinin işletim belgelerinde açıklanmaktadır. Bu belgeler kısmen işletim sisteminin kendisinde bulunur. Erişmek için şu komutu kullanın: yardım. Bu komut mevcut komutların bir listesini görüntüler. Belirli bir komutun açıklamasını almak için komutu parametre olarak kullanın yardım adı belirtilmelidir. Aşağıdaki listede gösterilen komut satırı, komutun açıklamasını görüntüler için.

    Komutu girmeyi denediyseniz yardım, muhtemelen çalışmasının sonucunun (sözde çıktı) tek bir ekrana sığmadığını fark etmişsinizdir. Komut açıklama metninde de aynı sorun ortaya çıkıyor için. İyi haber şu ki çıktı bir dosyaya yönlendirilebiliyor. Aşağıdaki listede gösterilen komut satırı dosyayı oluşturur komutlar.txt, tüm MS-DOS komutlarının bir listesini içerir.

    yardım > komutlar.txt

    Komutun açıklamasını içeren bir dosya oluşturmak için için, aşağıdaki komutu vermeniz gerekir (çıktı dosyasının adını istediğiniz gibi yapabilirsiniz).

    > for.txt için yardım

    Toplamda, modern Microsoft işletim sistemlerinde 80'den biraz daha az komut vardır ve bunları tek bir makalede açıklamak imkansızdır. Burada yalnızca dosya işlemeyi otomatikleştirmek için yararlı olan birkaç komuttan bahsedebilir ve bunların nasıl kullanılacağını gösterebiliriz. Bu komutlar daha sonraki örneklerde kullanılacaktır. Ayrıntıları her zaman komutla netleştirebilirsiniz yardım veya dizinde.

    kopyala- bir veya daha fazla dosyanın kopyalanması;

    del- bir veya daha fazla dosyanın silinmesi;

    taşınmak- bir veya daha fazla dosya veya dizinin taşınması;

    yeniden isimlendirmek(kısaltılmış Ren) - bir veya daha fazla dosya veya dizini yeniden adlandırma;

    xkopya- alt dizin ağacının kopyalanması;

    mkdir(kısaltılmış MD) - bir dizin oluşturma;

    rmdir(kısaltılmış üçüncü) - bir dizini silme.

    MS-DOS komut sözdiziminin genel kurallarından biri, parametreleri belirtirken önce kaynağın, sonra sonucun belirtilmesidir. Örneğin bir dosyayı taşımak istiyorsak bira.txt katalogdan kutu kataloğa git masa, aşağıdaki listede verilen komutu girmeliyiz.

    kutu\beer.txt tablosunu taşı

    Önce ne taşınacak, sonra nereye taşınacak.

    Dosyayı yeniden adlandırmak istersek lena.txt dosyalamak natasha.txt ise komut aşağıda gösterildiği gibi yazılmalıdır.

    ren lena.txt natasha.txt

    Önce neyin yeniden adlandırılacağı, sonra neyin yeniden adlandırılacağı.

    Geçerli dizin. Mutlak ve göreceli yollar

    Dosya komutlarıyla çalışırken geçerli dizin kavramı son derece önemli hale gelir. Mesele şu ki, bir dosyayı komut parametresi olarak belirtirken, onlara işaret etmek için her zaman iki olası yoldan birini kullanırız: ya mutlak yol ya da göreceli yol. Tam yolda sürücüyle (veya bilgisayarın ağ adıyla) başlayan her şeyi belirtiriz; örneğin d:\misha\box\beer.txt. Komut girildiğinde hangi dizin geçerli olursa olsun, tam yol aynı dosyaya karşılık gelecektir. Göreli bir yol için geçerli dizin başlangıç ​​noktası görevi görür. Göreli yolun en basit durumu dosya adıdır. Komut yürütme bağlamında, geçerli dizinde bulunan aynı adda bir dosya anlamına gelir.

    Geçerli dizine göreli bir yol yazmak için koşullu bir giriş vardır . (nokta). Geçerli dizini içeren dizine göreli yolu kaydetmek için koşullu bir gösterim vardır .. (iki nokta). Aşağıdaki listede gösterilen komut, tüm dosyaları geçerli dizinden dizine kopyalar komşu, yanında yer alır.

    *.* .\komşu kopyala

    Toplu dosyalar

    Şu ana kadar örnekler verirken her seferinde komutları manuel girdiğimizi varsayıyorduk. Çok sayıda dosyayı işlerken veya aynı komutları sistematik olarak çalıştırırken bu durum zahmetli hale gelir. Bu nedenle komut işlemcisi, komut dosyalarını yürütme yeteneği sağlar. Toplu iş dosyası, komutların (veya en az bir komutun) yazıldığı bir metin dosyasıdır. Örnek bir toplu iş dosyası aşağıdaki listede gösterilmektedir. Bu toplu iş dosyasının ne yaptığını tahmin etmeye çalışın.

    kopyalamaya yardım et > copy.help

    taşımaya yardım et > move.help

    *.help'i taşı msdos-help

    Bu dosyanın amacı sizin için bir sır olarak kalıyorsa, onu gerçekten oluşturup çalıştırmayı deneyin. Komut dosyalarına şu uzantıyı vermek gelenekseldir: yarasa. Bu türdeki dosyalar komut işlemcisi tarafından bu şekilde tanınır. Bu dosya örneğin şu şekilde çağrılabilir: make-help.bat.

    Toplu iş dosyasını çalıştırmak için:

      Adını komut olarak girin. Bundan sonra toplu iş dosyası yürütülecektir.

    Bir toplu iş dosyasında her komut bir satır kaplar. Daha doğrusu, bir komutu ardışık birkaç satıra yerleştirmenin bir yolu vardır; bunu yapmak için, her satır sonundan hemen önce “cap” sembolünü koymalısınız. ^ . (Her büyük harf kendi satırındaki son karakter olmalıdır; sonrasında boşluk veya sekme olmamalıdır.) Böyle bir komutun bir örneği aşağıdaki listede gösterilmektedir.

    disser.txt varsa ^

    disser.txt'yi kopyala ^

    d:\bilim\papers\taslaklar\kaynaklar

    Ancak basitlik adına, her seferinde çekince koymamak için bunun bir anlamda uzun bir "mantıksal" çizgi olduğunu varsayacağız.

    Bir toplu iş dosyası yürütüldüğünde, komut işlemcisi onu ilk satırdan son satıra kadar yukarıdan aşağıya doğru tarar ve komutları karşılaştığı sıraya göre yürütür. Genel olarak her birini manuel olarak girmişiz gibi gerçekleştiriyor. Genel olarak, bazı komutlar manuel olarak girildiğinde ve bir toplu iş dosyasından çalıştırıldığında biraz farklı davrandığından.

    İleriye baktığımızda, gerekirse komut yürütme sırasının kontrol komutları kullanılarak değiştirilebileceğini söyleyelim (böyle bir ihtiyacın ne olabileceği ayrı bir sorudur).

    Geçerli dizini, başlatılacak toplu iş dosyasının bulunduğu dizinle karıştırmayın. Geçerli dizinin olduğunu varsayalım. , bir dizin içerir aletler ve araçlar dizini toplu iş dosyalarını depolar. Bunlardan birini komutla çalıştırıyorsunuz araçlar\collect-images.bat. Yani, bu komut dosyasının "bakış açısından" mevcut dizin hala aynı olacaktır. , Ama değil aletler.

    Toplu iş dosyasının ve çıktısının yorumlanması. echo ve rem komutları

    Toplu iş dosyası aslında işletim sisteminin komut işlemci dilinde yazılmış bir programdır. Program metnine yorumlar da eklenmelidir, böylece bir süre sonra ona geri döndüğünüzde, bu programın neden gerekli olduğunu ve nasıl çalıştığını acı içinde hatırlamak zorunda kalmazsınız.

    MS-DOS komut sistemi, yorum oluşturmak için bir komut sağlar: rem. Bu, herhangi bir eylem gerçekleştirmeyi gerektirmeyen, ancak adınızdan sonraki satıra rastgele metin yazmanıza olanak tanıyan sahte bir komuttur. Üstelik komut işlemcisi bunu bir sözdizimi hatası olarak algılamaz. Yorumlar içeren bir komut dosyasının biçimlendirilmesine ilişkin bir örnek aşağıdaki listede gösterilmektedir.

    rem ***************************************************** ****

    rem Yardım dosyaları oluşturuluyor

    kopyalamaya yardım et > copy.help

    taşımaya yardım et > move.help

    *.help'i taşı msdos-help

    Toplu iş dosyasını "paragraflara" bölen boş satırlara dikkat edin. Bu basit numara, toplu iş dosyanızı daha okunaklı hale getirmenizi sağlar.

    Yukarıdaki toplu iş dosyasını çalıştırırken, tüm komutlar yürütülürken ekranda görüntülenecektir ve bu her zaman uygun değildir. Komut verilmesi komut kullanılarak devre dışı bırakılabilir @Eko kapalı. Komutun önündeki "köpek" sembolü Eko Bu, bu komutun kendisinin "sessiz" modda yürütülmesi gerektiği anlamına gelir. Komut satırını kullanmasak iyi olur Eko kapalı, ancak her komutun önüne bir "köpek" yerleştirin.

    Çoğu durumda, bir toplu iş dosyasının ekranda (veya bir dosyada) belirli mesajları görüntülemesini istersiniz. Bazı durumlarda bunlar hata mesajları olabilir, diğerlerinde ise toplu iş dosyası kullanıcısına, toplu iş dosyasıyla birlikte başka bir yararlı dosya oluşturduğumuzda şu anda neler olduğunu açıklayan bilgi mesajları olabilir. Aynı echo komutu mesajları görüntülemek için kullanılır. Görüntülenecek mesajın metni parametre olarak kendisine iletilir. Geliştirilen toplu iş dosyasının listesi aşağıda verilmiştir.

    rem ***************************************************** ****

    rem Kopyalama ve taşıma komutları için yardım dosyaları oluşturma

    rem ***************************************************** ****

    @echo Yardım dosyaları oluşturuluyor. Bir saniye...

    rem Yardım dosyaları oluşturuluyor

    kopyalamaya yardım et > copy.help

    taşımaya yardım et > move.help

    rem Yardım dosyalarını depolamak için bir dizin oluşturun

    rem Yardım dosyalarını hazırlanan dizine taşıyın

    *.help'i taşı msdos-help

    yankı Bitti!

    Parametreleri bir komut dosyasına aktarma

    Diyelim ki, önce kullanıcı tarafından belirlenen bir komutu açıklayan yardım üreten ve ardından onu görüntülenmek üzere Not Defteri'ne yükleyen bir toplu iş dosyası oluşturmak istediğimizi varsayalım. İşin püf noktası, toplu iş dosyasını bir sonraki çalıştırışımızda bu sefer hangi komutla ilgilendiğimizi bir şekilde söylemektir.

    Bu sorunu çözmek için bir parametre işleme mekanizması sağlanmıştır. Oldukça basit çalışıyor. Bir toplu iş dosyasını çalıştırırken kullanıcı birkaç parametre belirttiyse, toplu iş dosyasının metninde bunlardan ilkini girişle belirtiriz %1 , ikinci giriş %2 , üçüncü giriş %3 vesaire. Bu gösterimleri komut dosyasının metninde, doğal konuşmada zamirleri kullandığımızla hemen hemen aynı şekilde kullanırız.

    Sorunu çözen komut dosyasının metni aşağıdaki listede gösterilmektedir. Komuta dikkat edin yardım. Komut dosyasının ilk parametresi, parametresi olarak ona iletilir.

    rem Komutun açıklamasını içeren bir dosya oluşturuyoruz,

    adı parametre olarak iletilen rem

    yardım %1 > help.tmp

    rem Açıklama dosyasını Not Defteri düzenleyicisine yükleyin

    not defteri yardımı.tmp

    Bu toplu iş dosyasına adı verdiğimizi varsayalım. show-help.bat. Örneğin bir komut açıklamasını not defterine yüklemek için, yön komutunu aşağıdaki gibi girmemiz gerekiyor.

    show-help.bat dizini

    Aşağıdaki komut dosyası, ilk parametrede belirtilen adda bir dizin oluşturur ve bu dizine, ikinci parametrede belirtilen komutu açıklayan metni içeren bir dosya yazar.

    rem İki parametreli bir komut dosyası örneği

    rem İlk parametre tarafından belirtilen adda bir dizin oluşturun

    rem Komutun açıklamasını içeren bir dosya oluşturun,

    ikinci parametre tarafından belirtilen rem

    yardım %2 > %1\%2.help

    Kullanıcı bu toplu iş dosyasını çalıştırırken iki yerine dört parametre belirtirse ne olur? Sorun değil, hiçbir şeye müdahale etmeyecekler, sadece kullanılmayacaklar. Kullanıcı yalnızca ilk parametreyi belirtirse ne olur? İkinci parametre boş olacaktır. Etki şu şekilde olacaktır: toplu iş dosyası yürütülecek, ancak sanki kayıt yerindeymiş gibi %2 bir şey yok. Help komutu, tüm komutların bir listesini oluşturacak ve bunu boş bir ad ve .help uzantılı bir dosyaya yerleştirecektir. Kullanıcı bu dosyayı herhangi bir parametre belirtmeden çalıştırırsa, komut işlemcisi komutu yürütmeye çalıştığında MD(unutmayın, bu bir dizin oluşturmak içindir), md komutunun bir parametreye sahip olması gerektiğinden söz dizimi hatası alırız.

    Bu nedenle, parametrelerin kullanılması büyük fırsatlar yaratır ancak işleri önemli ölçüde karmaşık hale getirebilir. Toplu iş dosyasının her zaman doğru çalışması için, kullanıcının belirttiği parametrelerin doğruluğunu kontrol etmek ve eksik veya yanlış giriş verilerine bir şekilde yanıt vermek gerekir. Elbette bunu yapamazsınız, ancak yanlış çalışan bir toplu iş dosyası, özellikle verilerin silinmesini veya üzerine yazılmasını içeriyorsa sorunlara neden olabilir.

    Değişkenler. komutu ayarla

    Değişken adlandırılmış bir değerdir. Programlama ders kitaplarında bir değişken genellikle üzerinde adın yazılı olduğu bir zarfla karşılaştırılır. Zarfın içine bir şey koyabilirsiniz, örneğin belirli bir miktar para - bu onun değeridir. Zarfta olduğu gibi değişkenin değeri de değiştirilebilir.

    Bir değişken bildirmek ve aynı zamanda ona bir değer atamak için şu komutu kullanın: ayarlamak. Bu komutun bir örneği aşağıdaki listede gösterilmektedir.

    Bir değişkenin değerini çıkarmak için, değişkenin adı aşağıda gösterildiği gibi yüzde iki işareti arasına yerleştirilir.

    rem CHM formatındaki yardım dosyalarının derleyicisi

    help_compiler=c:\HTML Yardım Atölyesi\hcc.exe'yi ayarla

    "Depo" modülü için rem Proje yardım dosyası

    Store_hpj=help\sources\store\store.hpj'yi ayarlayın

    "Satış" modülü için rem Project yardım dosyası

    sales_hpj=help\sources\sales\sales.hpj'yi ayarlayın

    rem Yardım dosyalarını derleyin

    %help_compiler% %store_hpj%

    %help_compiler% %sales_hpj%

    Aşağıdaki liste değişkenlerin neden yararlı olduğunu göstermektedir.

    İlk olarak, bir toplu iş dosyası içinde uzun bir parça yerine (örneğin, yardım dosyası derleyicisinin yolu) kısa bir parçayı kullanmanıza izin verirler. En azından uygun.

    İkincisi, gelecekte değişebilecek parçaların komut dosyası metninde tekrarlanmasını önlemenizi sağlar. Microsoft HTML Workshop'u farklı bir dizine yeniden kurduğumuzu düşünün. Bir toplu iş dosyasında, yolunu kaydetmek için bir değişken kullanılıyorsa, toplu iş dosyasındaki yalnızca bir satırı, yani değişkenin değerinin atandığı satırı düzeltmek yeterli olacaktır. help_compiler. Her çağrılması gerektiğinde derleyicinin yolunu yazsaydık, yolu değiştirdikten sonra bu tür satırların her birini düzeltmemiz gerekirdi. Verilen örnekte bunlardan iki tane var, ancak gerçek bir projede derlemek istediğimiz yardım dosyalarının sayısına bağlı olarak kolaylıkla beş veya on beş tane de olabilir. Sorun, her satırı manuel olarak düzeltmenin zor olması değil (sonuçta, hiç kimse "kopyala" ve "yapıştır" komutlarını iptal etmedi), ancak bu, kazara hata olasılığını büyük ölçüde artırıyor.

    Toplu iş dosyası parametreleri de değişkenlerdir, ancak değerlerinin toplu iş dosyası başlatıldığında ayarlanması nedeniyle sıradan değişkenlerden farklıdırlar. Gelecekte değişkenlerden, özellikle de onların değerleriyle çalışmaktan bahsederken, en azından bu konuda açık bir çekince olmadığında, komut dosyası parametrelerini de kastedeceğiz.

    Toplu iş dosyalarını yazarken sıklıkla aşağıdaki teknik kullanılır: bazı yeni anlamlı değerler elde etmek için birkaç değişken değeri yan yana gösterilir (veya bazı semboller veya çizgiler serpiştirilir). Aşağıdaki listede bir örnek gösterilmektedir.

    Koşulları kontrol etme ve seçenekleri seçme. if ve goto komutları

    If komutu, belirli koşullara bağlı olarak bir toplu iş dosyasında yürütülen veya yürütülmeyen komut gruplarını seçmenize olanak tanır. Bu ne için?

    Koşul kontrolü, parametreleri kullanan toplu iş dosyaları oluştururken neredeyse gerekli bir adımdır. Çalışmaya başlamadan önce toplu iş dosyasının genellikle kendisine doğru parametre kümesinin iletildiğinden emin olması gerekir. Aksi takdirde, yanlış veya etkisiz bir şekilde yürütülme riski yüksek olur ve kullanıcı yalnızca sorunun ne olduğunu merak ederek kalır. Ayrıca, bir toplu iş dosyası herhangi bir veriyi siler, taşır veya üzerine yazarsa, parametreler yanlışsa hasara bile neden olabilir.

    Aşağıdaki listede zaten aşina olduğunuz yardım dosyası derleme komut dosyası gösterilmektedir. Komut dosyasının başına ilk parametrenin boş olup olmadığına dair bir kontrol eklendi. Lütfen şu sözdizimi özelliğine dikkat edin: karşılaştırma işlemi çift eşittir işareti kullanır. İlk parametre boş değilse, kabuğu belirtilen etikete "atan" goto komutu yürütülür. Bu durumda bu etiketin adı compile olur. Bir etiketin göründüğü yerde adının önünde iki nokta üst üste işaretinin bulunduğunu, ancak goto komutunda öyle olmadığını unutmayın. İlk parametre boşsa kabuk bir sonraki satıra geçer ve bu da bir hata mesajı üretir. Ve sonra onu dosyanın en sonuna, adı taşıyan bir etikete aktaran bir sonrakine geçin. sona ermek.

    "%1"=="" değilse derlemeye gidin

    rem Parametre boşsa bir hata mesajı görüntüleriz

    echo Yardım dosyası proje adı belirtilmedi

    rem ve toplu iş dosyasının sonuna git

    bitiş işaretine kalan süre

    rem Bu derleme adlı bir etikettir

    rem Aşağıda derleme komutları verilmiştir

    rem Yardım dosyası derleyicisinin yolu

    set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

    rem Yardım dosyası projelerinin bulunduğu dizinin yolu

    proje_yolunu ayarla=e:\work\projects\help-projects

    rem Belirli bir projeyi işlemek için derleyiciyi arayın,

    ilk parametrede adı geçen rem

    %help_compiler% %project_path%\%1.hpj

    rem Bu, bitiş adlı bir etikettir

    Kabul edelim ki, bir parametreyi kontrol etmek için önerilen yöntem en başarılı yöntem değil.

    Öncelikle kullanıcı yanlışlıkla var olmayan bir dosyanın adını parametre olarak belirtirse toplu iş dosyası bununla yetinecek ve derleme girişiminde bulunacaktır. Daha doğru bir yol, böyle bir dosyanın gerçekten var olup olmadığını kontrol etmektir. Bu amaçla MS-DOS komut dili özel bir sözcük sağlar. var olmak. Bu nedenle şunu yazmak daha iyi olur: varsa %1.hpj derlemeye gidin.

    İkincisi, komutun aktif kullanımı git(koşulsuz atlama olarak adlandırılan) ve etiketler kodu büyük ölçüde karıştırır. Teknik olarak fena değiller, ancak bu tarzda yazılmış bir toplu iş dosyasının hatalarını ayıklamak ve bakımını yapmak oldukça zahmetlidir. Bu nedenle programcılar uzun süredir koşulsuz atlamanın istenmeyen bir teknik olduğunu düşünüyorlardı. Aşağıda, programlama stili açısından, yapıyı kullanan, daha doğru yapılandırılmış bir versiyon gösterilmektedir. eğer...başka. Şöyle çalışır: Eğer koşul doğruysa, sonrasında parantez içindeki komutlar eğer, ve eğer yanlış ise sonrasında parantez içinde başka.

    rem Parametrenin ayarlanıp ayarlanmadığını kontrol edin

    yoksa %1.hpj (

    rem Yardım dosyası derleyicisinin yolu

    set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

    rem Yardım dosyası projelerinin bulunduğu dizinin yolu

    proje_yolunu ayarla=e:\work\projects\help-projects

    rem Belirli bir projeyi işlemek için derleyiciyi arayın,

    %help_compiler% %project_path%\%1.hpj

    Çeklerle çalışmaya başka bir örnek verelim. Aşağıdaki toplu iş dosyası adlı bir dizin oluşturur yardım dosyaları(derlenmiş yardım dosyalarının içine yüklendiğini varsayalım). Üstelik, aynı ada sahip bir dizin zaten mevcutsa (ve muhtemelen kaybetmek istemeyeceğiniz eski yardım dosyalarını içeriyorsa: ya yenileri daha kötü çıkarsa?), toplu iş dosyası ona bak uzantısını atar. . Ama eğer dizin yardım dosyaları.bak zaten mevcutsa, toplu iş dosyası onu siler (bir yedek kopyanın bizim için yeterli olduğunu varsayacağız).

    help-files.bak varsa rd help-files.bak

    yardım dosyaları varsa yardım dosyaları help-files.bak

    Toplu dosya işleme. komuta için

    For komutu, aynı türde tekrarlanan eylemlerin yürütülmesini düzenlemenize olanak tanır. Aşağıdaki listede gösterildiği gibi birden ona kadar olan sayıları görüntülemek için kullanabilirsiniz.

    (1,1,10)'da /l %%i için echo %%i yapın

    Değişken Ben döngü sayacı denir. Komutun benzersiz söz dizimi nedeniyle için döngü sayacının adı bir harften oluşmalıdır. Üstelik bir toplu iş dosyası yazıyorsak döngü sayacının adının önüne çift yüzde işareti koymamız gerekir, ancak komut satırına sadece bir komut yazıyorsak o zaman tek bir komut.

    Bu komutun mantığı aşağıdaki gibidir. Kelimeden sonra içinde döngü sayacının değişim aralığı gösterilir. İÇİNDE bu seçenek komutlar sayıların üçlüsüdür: sayacın başlangıç ​​değeri, sayma adımı, sayacın sınır değeri. Bir komutu çalıştırırken, kabuk ilk önce değişkeni atayacaktır. Ben Anlam 1 ve daha sonra döngünün her adımında onu artıracaktır. 1 aşıncaya kadar 10 . Açıkçası, böyle on adım olacak. Sayma adımı olarak bir sayı belirtseydik 2 sonra döngü beş kez yürütülür. Döngünün her adımında, sözcük yürütüldükten sonra yazılan döngünün gövdesi Yapmak. Yukarıdaki örnekte bu, döngü sayacının geçerli değerini görüntüleyen echo komutudur.

    Muhtemelen buna benzer bir şeyin gerçekten gerekli olduğu bir durumu düşünebilirsiniz, ancak genellikle komut için dosyaları yinelemek ve işlemek için kullanılır. Oldukça basit durumlarda toplu dosya işlemenin joker karakterler kullanılarak gerçekleştirildiği söylenmelidir. Geçerli dizindeki tüm dosyaları uzantıyla değiştirmek istiyorsak .htm Açık .html, komutu giriyoruz ren *.htm *.html. Ancak aynı şeyin tek bir dizinde değil, bir dizin ağacında yapılması gerekiyorsa, for komutu olmadan yapamazsınız. Aşağıdaki toplu iş dosyası, geçerli dizinin web sitesi alt dizinindeki tüm htm dosyaları için bu işlemi gerçekleştirir. Daha doğrusu, içindeki dizin ağacının tamamında İnternet sitesi.

    (*.htm) içindeki /r web sitesi %%i için %%i %%~ni.html adresini yapın

    Anahtar /R dizini geçme ihtiyacını belirtir İnternet sitesi ve tüm iç kısımları. Bunu belirtmezseniz (ancak bu durumda bir dizin belirtmenize izin verilmezse), yalnızca geçerli dizindeki dosyalar işlenir. Bu komut varyantındaki döngü sayacı değerleri aralığı, uzantıya sahip tüm dosyaların kümesidir .htm, bir dizinin (daha doğrusu bir ağacın) içinde bulunur İnternet sitesi. İlk bakışta garip bir giriş ~ni değişkenin değerinden anlamına gelir Ben Yalnızca dosya adını seçmeniz gerekir. MS-DOS komut dili bu tür birkaç değiştirici sağlar; örneğin yazma ~xi dosya uzantısını belirtir. Tüm değiştiriciler komut yardımında açıklanmıştır için.

    Bir döngünün gövdesi parantez içine alınmış birçok komuttan oluşabilir.

    (*.htm) içindeki /r web sitesi %%i için şunu yapın (

    rem Dosya adını yazdır

    rem Dosyayı yeniden adlandırın

    ren %%i %%~ni.html

    Denetim başka bir toplu iş dosyasına aktarılıyor. çağrı komutu

    Bir toplu iş dosyasından başka bir toplu iş dosyasını çağırmak mümkündür. Bunun için komut şudur Arama. Harika, çağıran toplu iş dosyasında belirtilen değişkenler çağrılan toplu iş dosyası tarafından "görünür". Ve tam tersi, çağrılan dosya işini bitirdikten ve kontrolü arayana geri verdikten sonra, arayan kişi "kalıtım" olarak adlandırılan değişkenlerin kendisine bıraktığı değişkenleri "görecektir". Bu, toplu iş dosyası geliştiricisinin şunun gibi bir şey yapmasına olanak tanır: Birkaç komut dosyasının aynı değerleri kullanması gerekiyorsa, örneğin bazı dosyalara giden yollar, bunlar, bir yapılandırma dosyası rolünü oynayacak ayrı bir komut dosyasına yerleştirilebilir. Her çalışan komut dosyası, yapılandırma dosyasına yapılan bir çağrıyla başlayacaktır. Avantajı, yolları değiştirirken birçok çalışanda değil, yalnızca bir yapılandırma dosyasında değişiklik yapmanız gerekmesidir.

    "Yapılandırma" toplu dosyası yapılandırma.bat.

    rem Yardım dosyası derleyicisinin yolu

    set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

    rem Yardım dosyası projelerinin bulunduğu dizinin yolu

    proje_yolunu ayarla=e:\work\projects\help-projects

    "Çalışıyor" toplu iş dosyası.

    rem Değişkenleri ayarlama

    rem Parametrenin ayarlanıp ayarlanmadığını kontrol edin

    yoksa %1.hpj (

    rem Parametre boşsa bir hata mesajı görüntüleriz

    echo Bu yardım dosyası projesi mevcut değil.

    rem Aşağıda derleme komutları verilmiştir

    rem Belirli bir projeyi işlemek için derleyiciyi arayın,

    ilk parametrede adı geçen rem

    %help_compiler% %project_path%\%1.hpj