SETküresel bir ortam değişkeni belirler. Komut dosyanız yürütüldükten sonra da devam eder.
Bir örneğe bakalım.
İlk olarak, değişken olmadığından emin olmak için değişkeni temizlerim.
C:\Users\Oliver\Desktop>set TEST=
Hızlı bir test:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
Şimdi bu toplu iş dosyasını oluşturalım ve yürütelım:
C:\Users\Oliver\Desktop>echo set TEST=something>test.bat
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>set TEST=something
Dosyamın yürütülmesinden sonra TEST'in değerini görelim .bat:
C:\Users\Oliver\Desktop>echo %TEST%
something
Yani, evet, senaryonun sonunda değişkeni temizlemek iyi bir uygulamadır.
Daha da iyisi , tüm problemi kullanmak SETLOCALve ENDLOCALönlemek.
İşte, yeni oluşturulan .batkullanımlar dosyayı SETLOCALve ENDLOCAL:
C:\Users\Oliver\Desktop>type test.bat
setlocal
set TEST=something
endlocal
Temizlemeye TESTbaşladığımızdan emin olmak için temizleyelim ve yankılayalım:
C:\Users\Oliver\Desktop>set TEST=
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%
Harika, şimdi yeniyi çalıştıralım .bat:
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>setlocal
C:\Users\Oliver\Desktop>set TEST=something
C:\Users\Oliver\Desktop>endlocal
Şimdi TESTboş kalacak:
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%