Batch Script - Variabel

Ada dua jenis variabel dalam file batch. Satu untuk parameter yang dapat dilewatkan ketika file batch dipanggil dan yang lainnya dilakukan melalui perintah set.

Argumen Baris Perintah

Skrip batch mendukung konsep argumen baris perintah di mana argumen dapat diteruskan ke file batch saat dipanggil. Argumen dapat dipanggil dari file batch melalui variabel% 1,% 2,% 3, dan seterusnya.

Contoh berikut menunjukkan file batch yang menerima 3 argumen baris perintah dan menggemakannya ke layar baris perintah.

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

Jika skrip batch di atas disimpan dalam file bernama test.bat dan kami menjalankan batch sebagai

Test.bat 1 2 3

Berikut adalah tangkapan layar tentang bagaimana ini akan terlihat di command prompt ketika file batch dijalankan.

Perintah di atas menghasilkan keluaran sebagai berikut.

1 
2 
3

Jika kita menjalankan batch sebagai

Example 1 2 3 4

Outputnya akan tetap sama seperti di atas. Namun, parameter keempat akan diabaikan.

Atur Perintah

Cara lain di mana variabel dapat diinisialisasi adalah melalui perintah 'set'. Berikut ini adalah sintaks dari perintah set.

Sintaksis

set /A variable-name=value

dimana,

  • variable-name adalah nama variabel yang ingin Anda setel.

  • value adalah nilai yang perlu disetel terhadap variabel.

  • /A – Sakelar ini digunakan jika nilainya harus berupa numerik.

Contoh berikut menunjukkan cara sederhana perintah set dapat digunakan.

Contoh

@echo off 
set message=Hello World 
echo %message%
  • Dalam potongan kode di atas, variabel yang disebut pesan didefinisikan dan diatur dengan nilai "Hello World".

  • Untuk menampilkan nilai variabel, perhatikan bahwa variabel tersebut harus diapit oleh tanda%.

Keluaran

Perintah di atas menghasilkan keluaran sebagai berikut.

Hello World

Bekerja dengan Nilai Numerik

Dalam skrip batch, juga memungkinkan untuk menentukan variabel untuk menampung nilai numerik. Ini dapat dilakukan dengan menggunakan sakelar / A.

Kode berikut menunjukkan cara sederhana di mana nilai numerik dapat diatur dengan tombol / A.

@echo off 
SET /A a = 5 
SET /A b = 10 
SET /A c = %a% + %b% 
echo %c%
  • Pertama-tama kita menetapkan nilai dari 2 variabel, a dan b masing-masing menjadi 5 dan 10.

  • Kami menambahkan nilai-nilai itu dan menyimpannya di variabel c.

  • Terakhir, kami menampilkan nilai variabel c.

Output dari program di atas adalah 15.

Semua operator aritmatika bekerja dalam file batch. Contoh berikut menunjukkan operator aritmatika dapat digunakan dalam file batch.

@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%

Perintah di atas menghasilkan keluaran sebagai berikut.

15 
-5 
2 
50

Variabel Lokal vs Global

Dalam bahasa pemrograman apa pun, ada opsi untuk menandai variabel sebagai memiliki semacam ruang lingkup, yaitu bagian kode di mana variabel tersebut dapat diakses. Biasanya, variabel yang memiliki cakupan global dapat diakses di mana saja dari program sedangkan variabel cakupan lokal memiliki batas yang ditentukan di mana mereka dapat diakses.

Skrip DOS juga memiliki definisi untuk variabel yang tercakup secara lokal dan global. Secara default, variabel bersifat global ke seluruh sesi prompt perintah Anda. Panggil perintah SETLOCAL untuk membuat variabel lokal ke lingkup skrip Anda. Setelah memanggil SETLOCAL, tugas variabel apa pun dikembalikan saat memanggil ENDLOCAL, memanggil EXIT, atau saat eksekusi mencapai akhir file (EOF) di skrip Anda. Contoh berikut menunjukkan perbedaan ketika variabel lokal dan global disetel dalam skrip.

Contoh

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

Beberapa hal penting yang perlu diperhatikan tentang program di atas.

  • 'Globalvar' didefinisikan dengan cakupan global dan tersedia di seluruh skrip.

  • Variabel 'var' didefinisikan dalam lingkup lokal karena berada di antara blok 'SETLOCAL' dan 'ENDLOCAL'. Karenanya, variabel ini akan dihancurkan segera setelah pernyataan 'ENDLOCAL' dijalankan.

Keluaran

Perintah di atas menghasilkan keluaran sebagai berikut.

13150
5

Anda akan melihat bahwa perintah echo% var% tidak akan menghasilkan apa-apa karena setelah pernyataan ENDLOCAL, variabel 'var' tidak akan ada lagi.

Bekerja dengan Variabel Lingkungan

Jika Anda memiliki variabel yang akan digunakan di seluruh file batch, maka selalu lebih baik untuk menggunakan variabel lingkungan. Setelah variabel lingkungan didefinisikan, itu dapat diakses melalui tanda%. Contoh berikut menunjukkan cara melihat JAVA_HOME yang ditentukan di sistem. Variabel JAVA_HOME adalah komponen kunci yang biasanya digunakan oleh berbagai aplikasi.

@echo off 
echo %JAVA_HOME%

Outputnya akan menampilkan direktori JAVA_HOME yang akan bergantung dari sistem ke sistem. Berikut adalah contoh output.

C:\Atlassian\Bitbucket\4.0.1\jre