Daha Akıllı Windows Toplu Komut Dosyaları için Kullanılacak 5 IF İfadesi

Daha Akıllı Windows Toplu Komut Dosyaları için Kullanılacak 5 IF İfadesi

Windows toplu iş dosyalarında çok iş yaparsanız, EĞER ifadesi komut dosyalarınıza esneklik katmanın çok güçlü bir yolunu sunar.





Bu makalede, bir Windows toplu iş dosyasında kullanabileceğiniz beş ana EĞER ifadesi 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ın

Toplu 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 hareket tarzı 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.



Mevcut boş sabit disk 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.

@echo off
set DriveLimit=300000000
for /f 'usebackq delims== tokens=2' %%x in (`wmic logicaldisk where 'DeviceID='C:'' get FreeSpace /format:value`) do set FreeSpace=%%x
Echo FreeSpace='%FreeSpace%'
Echo Limit='%DriveLimit%'
If %FreeSpace% GTR %DriveLimit% (
Echo There is enough free space.
) else (
Echo Not enough free space.
)

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





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

Daha önce hiç blat kullanmadıysanız, size blat kurulumunu gösteren bir yazımız var. Zamanlanmış işleri ayarlamaya aşina değil misiniz? Windows zamanlanmış görevlerinin nasıl kurulacağına ilişkin bir makaleyle karşınızdayız.





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

Bir toplu işte yapabileceğiniz bir diğer değerli EĞER karşılaştırması dizeleri karşılaştırmak .

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 mevcut işletim sisteminin en son olduğundan emin olmanız veya bir yükseltmeye ihtiyacı olup olmadığını kontrol etmeniz gerektiğinde BT denetimleri içindir.

İşte bu betiğin neye benzediği.

@echo off
for /f 'tokens=4-5 delims=. ' %%i in ('ver') do set VERSION=%%i.%%j
if '%version%' == '6.0' echo Windows Vista.
if '%version%' == '6.1' echo Windows 7
if '%version%' == '6.2' echo Windows 8
if '%version%' == '6.3' echo Windows 8.1
if '%version%' == '10.0' echo Windows 10.

İşte bu betiğin çıktısı nasıl görünüyor.

Dizeleri toplu olarak karşılaştırma yeteneği, tüm olasılıkların listesini açar. hepsini incelerseniz bir WMIC komutundan elde edebileceğiniz bilgiler Bilgisayarınızla ilgili ne kadar istatistik izleyebileceğinizi göreceksiniz. Bunları uyarmak için zamanlanmış toplu işleri kullanabilirsiniz.

3. Bir Dosyanın Var Olup Olmadığını Kontrol Edin

Bir toplu iş dosyasındaki bir EĞER ifadesinin bir veri dosyasının varlığını kontrol edin .

Çoğu zaman toplu iş, belirli bir dizindeki yeni gelen veri dosyalarını kontrol etmek için programlanmış olabilecek bir izleme aracıdır.

Ardından toplu iş, bu dosyayı işlenebileceği başka bir konuma kopyalayabilir veya dosyayı bir Excel çıktısında işleyen bazı Windows komut dosyalarını başlatabilir.

(Geçmişte nasıl yapılacağı hakkında yazdık verileri bir Excel dosyasına işlemek için Windows komut dosyalarını kullanın ; bazı iyi arka plan okumaları.)

Bir dizinde bir dosyanın olup olmadığını kontrol etmek için bir toplu iş dosyası kullanmak hızlı ve kolaydır. İşte bu komut dosyası neye benziyor.

@echo off
if exist c: empdatafile.txt (
%WINDIR%SysWOW64cmd.exe
cscript LoadToExcel.vbs
) else (
rem file doesn't exist
)

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

Örneğin, bir sorun olduğunda belirli bir klasörde yeni hata günlükleri oluşturan çalışan bir sisteminiz veya uygulamanız varsa, uyarı gönderebilmeniz için yeni hata günlüklerinin oluşturulup oluşturulmadığını izlemek için sık sık bir toplu iş çalıştırabilirsiniz.

4. Bir Komutun Başarısız Olup Olmadığını Kontrol Edin

Çok az BT çalışanının veya programcının kullandığı toplu dosya komut dosyası çalıştırmanın bir yönü, hataları kontrol etmek .

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

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

Bunu, çoğu uygulama ve komutun çalıştırıldıktan sonra döndürdüğü %errorlevel% değişkenini kullanarak yapabilirsiniz.

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

@echo off
xcopy C:
omefolder E:ackupfolder
IF %ERRORLEVEL% NEQ 0

E-posta yolunu kullanmak zorunda değilsiniz. Her sabah kontrol edebileceğiniz bir hata günlüğü yazabilir veya alternatif bir komut kullanarak kopyalamayı deneyen ikinci bir uygulama veya komut başlatabilirsiniz. Yapmak istediğiniz işlem ne olursa olsun, IF %ERRORLEVEL% bunu yapmanıza izin verir.

Belirli hata kodlarını kontrol etmek için bir EĞER ifadesi kullanmayı tercih ederseniz, Windows oldukça kapsamlı hata kodları listesi .

5. Eksik Parametreleri Kontrol Edin

Son kullanışlı EĞER ifadesi belirli bir komut değil, bunun yerine komut dosyasının uygun giriş parametrelerini aldı .

Örneğin, bir giriş klasöründen bir 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ının, kişisel dosya yolunu tanımlayan parametrelerle komut dosyası adınızı izlemesi yeterlidir.

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

İşte nasıl göründüğü.

@echo off
IF [%1]==[] (
GOTO sub_message
) ELSE (
xcopy %1 E:ackupfolder
)
GOTO eof
:sub_message
echo You forgot to specify your path.
:eof

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

Toplu İşler Güçlü Olabilir

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

Tabii ki, gerçekten bir adım atmak istiyorsanız, VBA'ya bir göz atmayı düşünebilirsiniz. ilk VBA uygulamanızı oluşturma , hatta Python programlamayı bile öğrenin.

Genellikle bunlar gibi daha gelişmiş programlama dillerini kullanabilir veya şu anda toplu işler için kullandığınız görevlerin çoğunu gerçekleştirmek için PowerShell kullanmayı öğrenebilirsiniz.

Paylaş Paylaş Cıvıldamak E-posta Disk Alanında Boşalmak İçin Bu Windows Dosyalarını ve Klasörlerini Silin

Windows bilgisayarınızdaki disk alanını temizlemeniz mi gerekiyor? İşte disk alanını boşaltmak için güvenle silinebilecek Windows dosya ve klasörleri.

Sonrakini Oku
İlgili konular
  • pencereler
  • Programlama
  • pencereler
Yazar hakkında Ryan Dube(942 Makale Yayınlandı)

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

nuga'da uygulamalar sd karta nasıl taşınır
Ryan Dube'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın