İlan

Windows toplu iş dosyalarında çok fazla iş yaparsanız, IF bildirimi komut dosyalarınıza esneklik katmanın çok güçlü bir yolunu sunar.

Bu makalede, bir Windows toplu iş dosyasında kullanabileceğiniz beş temel IF deyimi türü, doğru sözdiziminin nasıl göründüğü ve her biri için gerçekçi bir örnek hakkında bilgi edineceksiniz.

Komut dosyası oluşturmaya hazırsanız, başlayalım!

1. Değerleri Karşılaştır

Toplu bir komut dosyasında genellikle yapmanız gereken temel şeylerden biri iki değeri karşılaştır ve karşılaştırmaya bağlı olarak farklı bir işlem yolu izleyin.

Örneğin, bilgisayarınızın sabit disk boyutunu günlük olarak kontrol eden bir toplu komut dosyası yazmak istediğinizi varsayalım. 3 GB'ın altındaysa, “Sabit Disk Alanı Çok Düşük” yazan bir e-posta raporu almak istersiniz.

Geçerli boş sabit sürücü alanını sınırınızla karşılaştıran bir komut dosyası oluşturmak için aşağıdaki toplu komut dosyasını oluşturup bir .bat dosyası olarak kaydedersiniz.

@Eko kapalı. DriveLimit = 300000000 olarak ayarlayın. / f "usebackq delims == tokens = 2" %% x in (`` wmic logicaldisk burada "DeviceID = 'C:'" olsun FreeSpace / format: value`) FreeSpace = %% x ayarını yapar. Echo FreeSpace = "% FreeSpace%" Yankı Sınırı = "% DriveLimit%" % FreeSpace% GTR% DriveLimit% (Yankı) Yeterli boş alan varsa. ) else (Yankı Yeterli boş alan yok. )
instagram viewer

WMIC, PC bilgilerini çekmek için kullanabileceğiniz çeşitli komutlarla birlikte gelen Windows Yönetim Araçları bileşenidir. Bu komut dosyasındaki “wmic” komutu “logicaldisk” boşluğunu bu şekilde çağırır ve FreeSpace değişkenine yerleştirir. Artık size bir uyarı göndermek için “Yeterli boş alan yok” satırını blat e-posta komutuyla değiştirebilirsiniz.

Son olarak, bu komut dosyasını günlük olarak çalışan bir Windows zamanlanmış toplu iş olarak ayarlayın.

Daha önce hiç blat kullanmadıysanız, size gösteren bir makalemiz var. blat nasıl kurulur. Zamanlanmış iş kurma konusunda bilginiz yok mu? Sizi şu konu hakkında bir makaleyle ele aldık: Windows zamanlanmış görevleri ayarlama Windows Görev Zamanlayıcı ile Otomatikleştirebileceğiniz 4 Sıkıcı GörevZamanınız tekrarlanan görevlerle boşa harcanamayacak kadar değerlidir. Size görevleri nasıl otomatikleştireceğinizi ve zamanlayacağınızı gösterelim. Birkaç harika örneğimiz de var. Daha fazla oku .

2. Dize Karşılaştırmaları

Bir toplu işte yapabileceğiniz bir başka değerli IF karşılaştırması dizeleri karşılaştırma.

Aşağıdaki örnekte, toplu iş kullanarak Windows sürümünüzü nasıl kontrol edeceğinizi göreceksiniz. Ardından bunu beklenen Windows sürümünüzle karşılaştırabilirsiniz.

Bu komut dosyasının bazı kullanımları, bir komut dosyasını hızlı bir şekilde çalıştırmanız ve geçerli işletim sisteminin en son sürüm olduğundan ya da yükseltmeye ihtiyaç duyup duymadığından emin olmanız gerektiğinde BT denetimleri için olabilir.

İşte bu script böyle görünüyor.

@Eko kapalı. / f "belirteçleri = 4-5 sınırlama =. "('ver') içindeki %% i, VERSION = %% i değerini ayarladı. %% j. "% version%" == "6.0" ise Windows Vista'yı yansıtır. "% version%" == "6.1" ise Windows 7'yi yansıtır. "% version%" == "6.2" ise Windows 8'i yankılıyor. "% version%" == "6.3" Windows 8.1 yankısı. "% version%" == "10.0" ise Windows 10'u yankılar. 

İşte bu komut dosyasının çıktısı şuna benzer.

Toplu Dosya, Windows, Programlama

Dizeleri toplu olarak karşılaştırma yeteneği tüm olasılıkların bir listesini açar. Eğer tüm keşfetmek WMIC komutundan elde edebileceğiniz bilgiler bilgisayarınız hakkında kaç istatistik izleyebileceğinizi görürsünüz. Bunları uyarmak için zamanlanmış toplu işleri kullanabilirsiniz.

3. Bir Dosyanın Var olup olmadığını Kontrol Edin

Bir toplu iş dosyasındaki IF deyiminin veri dosyasının varlığını kontrol et.

Toplu iş çoğu kez belirli bir dizine yeni gelen veri dosyalarını kontrol etmek üzere zamanlanmış olabilecek bir izleme aracıdır.

Daha sonra, toplu iş o dosyayı işlenebileceği başka bir konuma kopyalayabilir veya dosyayı Excel çıktısına işleyen bazı windows komut dosyalarını başlatabilir.

(Geçmişte nasıl yapılacağı hakkında yazdık Excel dosyasına veri işlemek için Windows komut dosyalarını kullanma Bilgisayar Kullanımınızı Otomatikleştirmek için 5 Yararlı VB Windows ScriptiWeb sitesi izlemeden sistem raporlarına kadar, şu anda Windows'ta kodlayabileceğiniz bu şaşırtıcı VB komut dosyalarıyla her şeyi nasıl otomatikleştireceğinizi öğrenin. Daha fazla oku ; bazı iyi arka plan okuma.)

Bir dizinde dosyanın bulunup bulunmadığını kontrol etmek için bir toplu iş dosyası kullanmak hızlı ve kolaydır. İşte bu senaryo şöyle görünüyor.

@Eko kapalı. varsa c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) else (rem dosyası mevcut değil. )

IF EXISTS karşılaştırması birçok şey için yararlıdır.

Örneğin, belirli bir klasörde yeni hata günlükleri oluşturan bir sistem veya uygulamanız varsa, bir sorun varsa, yeni hata günlüklerinin oluşturulup oluşturulmadığını izlemek için bir toplu işi her sıklıkta çalıştırabilirsiniz. uyarmak.

4. Bir Komutun Başarısız Olduğunu Kontrol Edin

Çok az sayıda BT çalışanının veya programcının kullandığı toplu iş dosyası komut dosyası oluşturma özelliği hataları kontrol etme.

Önemli dosyaları yedekleme veya dosya kopyalama işlemlerini çalıştırma gibi kritik BT görevlerini yerine getiren çok sayıda toplu iş var. Bu toplu işler başarısız olduğunda, sistemler başarısız olur ve insanlar fark eder.

Toplu işiniz bir komutta başarısız olduğunda uyarı almak çok daha akıllı önce insanlar fark etmeye başlar. Bu şekilde sorunu proaktif bir şekilde çözebilirsiniz.

Çoğu uygulamanın ve komutun çalıştırıldıktan sonra döndürdüğü% errorlevel% değişkenini kullanarak bunu yapabilirsiniz.

Tek yapmanız gereken IF% ERRORLEVEL% komutuyla komutunuzu takip etmektir. Uygulama veya komut sıfır döndürürse, her şey yolunda demektir. Değilse, kendinize bir e-posta göndermeniz gerekir.

@Eko kapalı. xcopy C: \ somefolder E: \ backupfolder. % ERRORLEVEL% NEQ EĞER 0 

E-posta yolunu izlemenize gerek yoktur. Her sabah kontrol edebileceğiniz bir hata günlüğü yazabilir veya alternatif bir komut kullanarak kopyalama yapmaya çalışan ikinci bir uygulama veya komut başlatabilirsiniz. Yapmak istediğiniz işlem ne olursa olsun,% ERRORLEVEL% EĞER bunu yapmanıza izin verirse.

Belirli hata kodlarını kontrol etmek için bir IF ifadesi kullanmayı tercih ederseniz, Windows hata kodlarının kapsamlı listesi.

5. Eksik Parametreleri Kontrol Edin

Son yararlı IF deyimi belirli bir komut değildir, bunun yerine komut dosyasının uygun giriş parametrelerini aldı.

Örneğin, bir giriş klasöründen, ekip tarafından kullanılan ortak bir ağ klasörüne xcopy komutu gerçekleştiren bir komut dosyası yazdığınızı varsayalım. Kullanıcı sadece komut dosyası adınızı kişisel dosya yolunu tanımlayan parametrelerle izlemelidir.

Açıkçası, komut dosyanızı belirtilen yol olmadan düzgün bir şekilde çalıştıramazsınız, bu nedenle her iki parametrenin de girildiğinden emin olmak için komut dosyanızın başına bir IF ifadesi koyabilirsiniz.

İşte böyle görünüyor.

@Eko kapalı. EĞER [% 1] == [] ( GOTO alt mesajı. ) BAŞKA ( xcopy% 1 E: \ backupfolder. ) GOTO eof.: Sub_message. echo Yolunuzu belirtmeyi unuttunuz.: Eof.

Daha önce toplu komut dosyalarıyla parametreleri hiç kullanmadıysanız, yüzde sembolü ve ardından bir sayı parametre değişkenini temsil eder. % 1 ilk parametredir,% 2 ikinci parametredir vb.

Toplu İşler Güçlü Olabilir

Birçok kişi, sıralı olarak yürütülmesi gereken basit görevler için toplu işleri kullanmaya başlar. IF ifadeleriyle komut dosyalarınıza çok daha fazla zeka eklemek mümkündür.

Tabii ki gerçekten bir çentik yükseltmek istiyorsanız, VBA'ya rehberimizle göz atmayı düşünebilirsiniz. ilk VBA uygulamanızı oluşturma, hatta belki Python programlamasını öğrenir.

Genellikle bu gibi daha gelişmiş programlama dillerini kullanabilirsiniz veya PowerShell kullanmayı öğrenin Toplu Komut Dosyası Yerine PowerShell Kullanmanız Gereken 5 NedenPowerShell, Toplu Komut İstemi ile Komut İstemi'ni geçtiyseniz, bazı ekstra özelliklere attıysanız ve hepsini birkaç çentik atarsanız elde edeceğiniz şeydir. İşte denemeniz için birkaç neden. Daha fazla oku , şu anda toplu işlerde kullandığınız aynı görevlerin çoğunu gerçekleştirmek için.

Ryan Elektrik Mühendisliği lisans derecesine sahiptir. 13 yıl otomasyon mühendisliği, 5 yıl BT'de çalıştı ve şu anda bir Uygulama Mühendisi. MakeUseOf'un eski bir Genel Yayın Yönetmeni, Veri Görselleştirme üzerine ulusal konferanslarda konuştu ve ulusal TV ve radyoda yer aldı.