Komut: "SET" açık Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. mevcut
Komut örnekleri "SET"
Der
`SET`Windows Komut İstemi'ndeki komut, ortam değişkenlerini oluşturmak, görüntülemek veya değiştirmek için kullanılır. İşte kullanımına ilişkin bazı örnekler
`SET`-Emretmek:
Örnek 1: Yeni bir ortam değişkeni oluşturun:
SET YENİ_VARIABLE=İçindekiler
Açıklama: Bu komut, adlı yeni bir ortam değişkeni oluşturur.
`YENİ_VARIABLE`ve değer
`İçindekiler`.
Örnek 2: Mevcut bir ortam değişkenini görüntüleyin:
SET MEVCUT_VARIABLE
Açıklama: Bu komut ortam değişkeninin değerini gösterir
`MEVCUT_VARIABLE`en.
Örnek 3: Tüm ortam değişkenlerini göster:
SET
Açıklama: Girerek
`SET`belirli bir değişken olmadan tüm ortam değişkenleri ve değerleri görüntülenir.
Örnek 4: Değişkeni sil:
SET YENİ_VARIABLE=
Açıklama: Bu ortam değişkeninin değeridir
`YENİ_VARIABLE`silindi.
Örnek 5: Bir toplu iş dosyasında değişken kullanma:
ECHO %YENİ_VARIABLE%
Açıklama: Bu komut ortam değişkeninin değerini döndürür
`YENİ_VARIABLE`dışında. Toplu iş dosyalarında sözdizimi
`%Variable%`Bir ortam değişkeninin değerine erişmek için kullanılır.
Örnek 6: Kullanıcı girişini bir değişkene kaydedin:
SET /P KULLANICI GİRİŞİ=Bir şey girin:
Açıklama: Bu komut kullanıcıdan bir şey girmesini ister ve girişi ortam değişkeninde saklar
`KULLANICI GİRİŞİ`.
Birçok gelişmiş seçenek ve özellik bulunmaktadır.
`SET`dize değişiklikleri, toplu komut dosyalarında ortam değişkenlerinin kullanılması ve daha fazlası dahil olmak üzere komut. Giriş hakkında
`SET /?`komut isteminde mevcut seçeneklerin bir listesini ve daha ayrıntılı bilgileri alacaksınız.
"SET" Microsoft Windows Yardımından Alıntı
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
cmd.exe çevre degiskenlerini görüntüler, ayarlar ya da kaldirir.
SET [degisken=[dize]]
degisken Çevre degiskeninin adini belirtir.
dize Degiskene atanacak olan karakter serisini belirtir.
Geçerli çevre degiskenlerini görüntülemek için parametresiz
olarak SET yazin.
Komut Uzantilari etkinse, SET asagidaki sekilde degisir:
Hiçbir esit isareti ya da deger olmadan yalnizca bir degisken adi
tarafindan çagrilan SET komutu, kendisine verilen adla eslesen
öneke sahip tüm degiskenlerin degerini görüntüler. Örnegin:
SET P
'P' harfiyle baslayan tüm degiskenleri görüntüleyebilir
Geçerli çevrede degisken adi bulunamiyorsa, SET komutu
ERRORLEVEL'i 1'e ayarlar.
SET komutu, esittir isaretinin bir degisken adinin parçasi
olmasina olanak
vermez.
SET komutunu iki yeni anahtar eklendi:
SET /A ifade
SET /P variable=[promptString]
/A anahtari esit isaretinin sagindaki dizenin
degerlendirilen bir sayisal deyim oldugunu belirtir. Deyim
degerlendiricisi
oldukça basit olup asagidaki islemleri, azalan üstünlük sirasina
göre destekler:
() - gruplama
! ~ - - birli isleçler
* / % - aritmetik isleçler
+ - - aritmetik isleçler
<< >> - mantiksal kaydirma
- bit düzeyinde and
^ - bit düzeyinde xor
| - bit düzeyinde or
= *= /= %= += -= - atama
&= ^= |= <<= >>=
, - ifade ayirici
Mantik ya da modül isleçlerinden birini kullanirsaniz, deyim
dizesini
tirnak isaretleri arasinda ekine koymaniz gerekir. Deyimdeki
sayisal olmayan dizeler, degerleri kullanilmadan önce sayiya
dönüstürülen çevre degiskenleri olarak kabul edilir. Bir çevre
degiskeni belirtildigi halde geçerli çevrede belirtilmezse, sifir
degeri
kullanilir. Bu sayede, ortam degiskeniyle degerlerini almak için
tüm % isaretlerini yazmaya gerek kalmadan aritmetik islemleri
yapilabilir. Bir toplu is dosyasi disindan, SET /A komut
satirindan
yürütülürse, deyimin son degeri görüntülenir. Atama isleci,
atama
islecinin soluna bir ortam degiskeni adi gerektirir. Onaltilik
sayilar
için 0x, sekizlik sayilar için 0 önekiyle kullanilmadigi sürece,
sayisal degerler ondalik sayidir.
Böylece, 0x12, 18 ve 022 ile aynidir. Sekizlik yazimin karmasik
olabilecegini
unutmayin: 8 ile 9 geçerli sekizlik hane olmadigindan 08 ile 09
geçerli
sayi degildir.
/P anahtari, bir degisken degerini kullanici tarafindan girilen
bir girdi
satirina ayarlamanizi saglar. Girdi satirini okumadan önce,
belirtilen
promptString görüntülenir. promptString bos olabilir.
Ortam degiskeni degistirmesi asagidaki sekilde artirilmistir:
%PATH:str1=str2%
genisletilen sonuçtaki her "str1" geçtiginde "str2" ile
degistirerek,
PATH ortam degiskenini genisletir. Genisletilen çiktidan "str1"
geçen
yerlerin tümünü etkili sekilde silmek için "str2" bos bir dize
olabilir.
"str1" bir joker karakteriyle baslayabilir; bu durumda,
genisletilen
çiktinin baslangicindan str1'in kalan bölümündeki ilk geçtigi
yere dek
her seyle eslesir.
Bir genisletme için alt dize de belirtebilir.
%PATH:~10,5%
PATH ortam degiskenini genisleterek, genisletilmis olan sonucun
11. (ofset 10) karakterinde baslayan 5 karakteri
kullanir. Uzunluk belirtilmediyse, kalan degisken degere
varsayilan olarak ayarlanir. Her iki sayidan biri (ofset ya da
uzunluk)
eksi ise, ortam degiskeni uzunlugunda kullanilan deger ofsete ya
da
belirtilen uzunluga eklenir.
%PATH:~-10%
PATH degiskeninin son 10 karakterini çikarir.
%PATH:~0,-2%
PATH degiskeninin yalnizca son 2 karakterini çikarir.
Sonunda, geciken ortam degiskeni genisletmesi destegi
eklendi. Bu destek varsayilan olarak her zaman devre disidir;
ancak
CMD.EXE'ye /V komut satiri anahtariyla etkinlestirilebilir/devre
disi
birakilabilir. Bkz. CMD /?
Geciken ortam degiskeni genisletmesi, bir metnin satiri
yürütülmek yerine
okundugunda olusan geçerli genisletme sinirlamalarinin üstesinden
gelir.
Asagidaki örnek, yakindaki degisken genislemesiyle olan
sorunu göstermektedir:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "%VAR%" == "after" @echo Bunu görürseniz ise
yaramistir
)
iletiyi asla görüntülemez; her iki IF tümcesindeki %VAR%
ilk IF tümcesi okundugunda degistirildiginden, mantik olarak
bilesik tümce olan IF gövdesini içerir. Böylece
bilesik tümce içindeki IF, gerçekten hiçbir zaman esit olmayacak
olan
"before" ile "after" ögesini karsilastirir. Ayni sekilde,
asagidaki
örnek de beklendigi gibi çalismaz:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
burada, geçerli dizinde dosya listesi olusturmak yerine,
bulunan en son dosyaya LIST degiskenini ayarlar.
Yine, bunun nedeni, %LIST% ögesinin FOR tümcesi okundugunda
genisletilmesi ve o sirada LIST degiskeninin bos olmasidir.
Bu durumda, yürüttügümüz gerçek FOR döngüsü sudur:
for %i in (*) do set LIST= %i
bu yalnizca bulunan son dosyaya LIST ayarini belirler.
Geciken ortam degiskeni genisletmesi, yürütme aninda çevre
degiskenlerini genisletmeniz için farkli karakter (ünlem isareti)
kullanmaniza olanak saglar. Geciken degisken genisletmesi
etkinse,
yukaridaki örnekler çalismasi için asagidaki sekilde yazilabilir:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo Bunu görürseniz ise
yaramistir
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
Komut Uzantilari etkinse, genisletilebildigi halde SET ile birkaç
görüntülenen degiskenlerle görünmeyen
dinamik ortam degiskeni vardir. Bu degisken degerleri
degisken degerinin genisletildigi her defada dinamik olarak
hesaplanir.
Kullanici açikça bu adlarla bir degisken tanimlarsa,
söz konusu tanim asagida tanimlanan dinamik olani etkisiz kilar:
%CD% - geçerli dizin dizesine genisletir.
%DATE% - DATE komutuyla ayni biçimi kullanarak geçerli tarihe
genisletir.
%TIME% - TIME komutuyla ayni biçimi kullanarak geçerli saate
genisletir.
%RANDOM% - 0 ile 32767 arasi herhangi bir ondalik sayiya
genisletir.
%ERRORLEVEL% - Geçerli ERRORLEVEL degerine genisletir
%CMDEXTVERSION% - Geçerli Komut Islemci Uzantilari sürüm
numarasina
genisletir.
%CMDCMDLINE% - Komut Islemcisi'ni çagiran özgün
komut satirina genisletir.
Önemli bilgiler, "SET" komutu için ipuçları
Kullanırken
`SET`Windows Komut İstemi'ndeki komutu kullanırken dikkat edilmesi gereken bazı önemli hususlar vardır:
1.
Ortam Değişkenlerini Geçersiz Kılma: `SET`Mevcut bir ortam değişkeniyle aynı adı kullanarak bir ortam değişkeni oluşturursanız mevcut değişkenin üzerine yazılır. İstenmeyen etkilerden kaçınmak için bunu yapmayı planladığınızdan emin olun.
SET MEVCUT_VARIABLE=Yeni değer
2.
Değerlerdeki boşluklar: Ortam değişkenlerinde boşluk içeren değerler ayarlarken, değerin çift tırnak içine alınması önerilir. Bu, boşlukların yorumlanmasıyla ilgili sorunların önlenmesine yardımcı olur.
SET VARIABLE_İLE_UZAY="Boşluklu değer"
3.
Tüm ortam değişkenlerini görüntüleyin: Basitçe girin
`SET`belirli bir değişken olmadan tüm ortam değişkenlerini ve değerlerini görüntüler. Bu, değişikliklerinizin beklendiği gibi yapıldığından emin olmanıza yardımcı olabilir.
SET
4.
Toplu komut dosyalarında ortam değişkenlerini ayarlama: Ortam değişkenlerini bir toplu komut dosyasında ayarlarsanız, değişkene komut dosyasından daha sonra erişileceğini unutmayın
`%Variable%`Takip eder.
SET YENİ_VARIABLE=İçindekiler
ECHO %YENİ_VARIABLE%
5.
Kullanıcı girişi`SET /P`: Eğer sen
`SET /P`Kullanıcı girişi için, kullanıcıyı açıkça yönlendirdiğinizden ve karışıklığı önlemek için net talimatlar sağladığınızdan emin olun.
SET /P KULLANICI GİRİŞİ=Bir şey girin:
6.
Büyük/Küçük Harf Duyarlılığı: Ortam değişkenlerinin genellikle büyük/küçük harfe duyarlı olmadığını unutmayın. Bu demektir
`%Variable%`Ve
`%variable%`aynısına erişin.
Bu ipuçları şunları yapmanızı sağlamalıdır:
`SET`-Komutları etkili ve güvenli bir şekilde kullanın.