Toplu Komut Dosyası - Değişkenler

Toplu iş dosyalarında iki tür değişken vardır. Biri, toplu iş dosyası çağrıldığında ve diğeri set komutu ile yapıldığında geçirilebilen parametreler içindir.

Komut Satırı Bağımsız Değişkenleri

Toplu komut dosyaları, komut satırı bağımsız değişkenleri kavramını destekler; burada bağımsız değişkenler, çağrıldığında toplu iş dosyasına iletilebilir. Bağımsız değişkenler,% 1,% 2,% 3 vb. Değişkenler aracılığıyla toplu iş dosyalarından çağrılabilir.

Aşağıdaki örnek, 3 komut satırı argümanını kabul eden ve bunları komut satırı ekranına ekleyen bir toplu iş dosyasını gösterir.

@echo off 
echo %1 
echo %2 
echo %3

Yukarıdaki toplu komut dosyası test.bat adlı bir dosyada saklanıyorsa ve toplu işi şu şekilde çalıştıracaktık:

Test.bat 1 2 3

Aşağıda, toplu iş dosyası yürütüldüğünde bunun komut isteminde nasıl görüneceğinin bir ekran görüntüsü verilmiştir.

Yukarıdaki komut aşağıdaki çıktıyı üretir.

1 
2 
3

Toplu işi şu şekilde yürütürsek

Example 1 2 3 4

Çıktı yine de yukarıdakiyle aynı kalacaktır. Ancak, dördüncü parametre göz ardı edilecektir.

Komutu Ayarla

Değişkenlerin başlatılabilmesinin diğer yolu 'set' komutudur. Set komutunun sözdizimi aşağıdadır.

Sözdizimi

set /A variable-name=value

nerede,

  • variable-name ayarlamak istediğiniz değişkenin adıdır.

  • value değişkene karşı ayarlanması gereken değerdir.

  • /A – Bu anahtar, değerin doğası gereği sayısal olması gerekiyorsa kullanılır.

Aşağıdaki örnek, set komutunun kullanılabileceği basit bir yolu göstermektedir.

Misal

@echo off 
set message=Hello World 
echo %message%
  • Yukarıdaki kod parçacığında, mesaj adı verilen bir değişken tanımlanır ve "Merhaba Dünya" değeriyle ayarlanır.

  • Değişkenin değerini görüntülemek için değişkenin% işaretinin içine alınması gerektiğini unutmayın.

Çıktı

Yukarıdaki komut aşağıdaki çıktıyı üretir.

Hello World

Sayısal Değerlerle Çalışma

Toplu kodda, sayısal bir değeri tutacak bir değişken tanımlamak da mümkündür. Bu, / A anahtarı kullanılarak yapılabilir.

Aşağıdaki kod, sayısal değerlerin / A anahtarıyla ayarlanabileceği basit bir yolu gösterir.

@echo off 
SET /A a = 5 
SET /A b = 10 
SET /A c = %a% + %b% 
echo %c%
  • Önce 2 değişkenin değerini, a ve b'yi sırasıyla 5 ve 10 olarak ayarlıyoruz.

  • Bu değerleri ekliyoruz ve c değişkeninde saklıyoruz.

  • Son olarak c değişkeninin değerini görüntülüyoruz.

Yukarıdaki programın çıktısı 15 olacaktır.

Tüm aritmetik operatörler toplu iş dosyalarında çalışır. Aşağıdaki örnek, aritmetik operatörlerin toplu iş dosyalarında kullanılabileceğini gösterir.

@echo off 
SET /A a = 5 
SET /A b = 10 
SET /A c = %a% + %b% 
echo %c% 
SET /A c = %a% - %b% 
echo %c% 
SET /A c = %b% / %a% 
echo %c% 
SET /A c = %b% * %a% 
echo %c%

Yukarıdaki komut aşağıdaki çıktıyı üretir.

15 
-5 
2 
50

Yerel ve Global Değişkenler

Herhangi bir programlama dilinde, değişkenleri bir tür kapsama sahip olarak işaretleme seçeneği vardır, yani erişilebilecekleri kod bölümü. Normalde, global kapsama sahip değişkene bir programdan herhangi bir yerden erişilebilirken, yerel kapsamlı değişkenler, erişilebilecekleri tanımlanmış bir sınıra sahiptir.

DOS komut dosyası, yerel ve genel kapsamlı değişkenler için bir tanıma da sahiptir. Varsayılan olarak, değişkenler tüm komut istemi oturumunuz için geneldir. Değişkenleri komut dosyanızın kapsamına göre yerel yapmak için SETLOCAL komutunu çağırın. SETLOCAL çağrıldıktan sonra, herhangi bir değişken ataması ENDLOCAL çağrıldığında, EXIT çağrıldığında veya yürütme betiğinizde dosyanın sonuna (EOF) ulaştığında geri döner. Aşağıdaki örnek, kodda yerel ve genel değişkenler ayarlandığında farkı gösterir.

Misal

@echo off 
set globalvar = 5
SETLOCAL
set var = 13145
set /A var = %var% + 5
echo %var%
echo %globalvar%
ENDLOCAL

Yukarıdaki program hakkında not edilecek birkaç önemli nokta.

  • 'Globalvar' global bir kapsam ile tanımlanır ve tüm senaryo boyunca mevcuttur.

  • 'Var' değişkeni, bir 'SETLOCAL' ve 'ENDLOCAL' bloğu arasında yer aldığından yerel bir kapsamda tanımlanmıştır. Bu nedenle, 'ENDLOCAL' ifadesi çalıştırılır çalıştırılmaz bu değişken yok edilecektir.

Çıktı

Yukarıdaki komut aşağıdaki çıktıyı üretir.

13150
5

Echo% var% komutunun hiçbir şey vermeyeceğini fark edeceksiniz çünkü ENDLOCAL ifadesinden sonra 'var' değişkeni artık mevcut olmayacak.

Ortam Değişkenleriyle Çalışma

Toplu iş dosyalarında kullanılacak değişkenleriniz varsa, ortam değişkenlerinin kullanılması her zaman tercih edilir. Ortam değişkeni tanımlandıktan sonra,% işaretiyle erişilebilir. Aşağıdaki örnek, bir sistemde tanımlanan JAVA_HOME'un nasıl görüntüleneceğini gösterir. JAVA_HOME değişkeni, normalde çok çeşitli uygulamalar tarafından kullanılan temel bir bileşendir.

@echo off 
echo %JAVA_HOME%

Çıktı, sistemden sisteme bağlı olan JAVA_HOME dizinini gösterecektir. Aşağıda bir çıktı örneği verilmiştir.

C:\Atlassian\Bitbucket\4.0.1\jre