Tüm ortam değişkenlerini komut satırından listele


932

Tüm ortam değişkenlerini bir Windows komut isteminden listelemek mümkün mü ?

PowerShell gci env:(veya ls env:veya dir env:) öğesine eşdeğer bir şey .


1
Birisi bir PowerShell çözümünü paylaşabilir mi? Gelecek ve hepsi olması gerekiyordu. Sağ?
Bruno Bronosky

1
@BrunoBronosky PS çözümü, soruya dahil edilmiştir ve tekrarlayan bir cevap da vardır =)
Jon

Her birinin açıklaması için bkz. Ss64.com/nt/syntax-variables.html
Samuel Harmer

Yanıtlar:


1352

Sadece yap:

SET

Ayrıca SET prefixadlarıyla başlayan tüm değişkenleri de görebilirsiniz prefix.

Örneğin, ortam değişkenlerinden yalnızca derbydb okumak istiyorsanız, aşağıdakileri yapın:

set derby 

... ve aşağıdakileri elde edersiniz:

DERBY_HOME=c:\Users\amro-a\Desktop\db-derby-10.10.1.1-bin\db-derby-10.10.1.1-bin

7
Bu beni bir isim mi istiyor?
CMCDragonkai

53
@KevinMeredith: Windows kabuğundaki tüm komutlar büyük / küçük harfe duyarlı değildir.
Jon

12
@CMCDragonkai powershell kullanıyor musunuz? Komut izinlerinden biriyle ayarlanmış gibi görünüyor. Bu onun daha az kullanışlı özelliklerinden biridir! Burada
JonnyRaa

2
Birisi bunu bir PowerShell çözümü içerecek şekilde güncelleyebilir mi? Gelecek ve hepsi olması gerekiyordu. Sağ?
Bruno Bronosky

3
@NickTimmer, Windows kabuğu yerine bash ile konuştuğunuz için, bu sizin için yanlış soru / cevap. Şuna bak printenv.
Jon

167

Jon'un doğru cevabı var, ancak biraz sözdizimsel şekerle biraz daha ayrıntılandırmak için ..

SET | more

değişkenleri tüm lot yerine tek seferde bir sayfa görmenizi sağlar veya

SET > output.txt

çıktıyı Not Defteri'nde açabileceğiniz bir dosya output.txt dosyasına gönderir ...


7
moreWindows, +1 üzerinde hiçbir fikrim yoktu
ardnew

aslında bazı fonksiyonlarda yerleşiktir. Örneğin Dir, a / p ile sayfalar.
John Lord

@ardnew: Artık daha çok şey biliyorsun ;-)
user2943111

106

PowerShell'deki tüm ortam değişkenlerini listelemek için:

Get-ChildItem Env:

Veya çıkış kesilmesini önlemek için user797717 tarafından önerildiği gibi:

Get-ChildItem Env: | Format-Table -Wrap -AutoSize

Kaynak: Ortam Değişkenleri Oluşturma ve Değiştirme ( Haftanın Windows PowerShell İpucu )


4
Her cmd komutu için çalışmadığı için PowerShell kullanmasam bile, bu büyük çaba harcamadan güzel bir baskı (2 sütun üzerinde) için tek çözümdür. for /f "tokens=1,2 delims==" ...
Cmd'de

6
Çıktının kesilmesini önlemek için aşağıdakileri kullanırım:Get-ChildItem Env: | Format-Table -Wrap -AutoSize
user797717

1
gci env:bunun yerine Get-ChildItem Env:, hatırlanması daha kolay
matson kepson

Mükemmel! Bunun dürüst olmak için neden en iyi cevap olmadığını anlamıyorum: / EDIT: Oh, bekleyin, nedenini görüyorum ... asıl soru bunu Powershell'de değil, eski okulda yapmaktı Komut istemi: D
Van Nieuwerburg

79

Basitçe çalıştırmak setdan cmd.

Ortam değişkenlerini görüntüler, ayarlar veya kaldırır. Parametresiz kullanıldığında, set geçerli ortam ayarlarını görüntüler.


11

SETCmd olarak kullanabilirsiniz

Mevcut değişkeni göstermek için SETyeterlidir

'PATH' gibi belirli değişkenleri göstermek için tuşunu kullanın SET PATH.

Yardım için yazın set /?.


2
Bunun mevcut cevaplardan farkı nedir?
Peter Mortensen

7

Zaman kaybetme. Kayıt defterinde arayın:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

SET komutundan daha azını döndürür.


2
bu doğru olsa da, bir fark kayıt defteri sorgusunun genişletilmemiş REG_EXPAND_SZanahtarlar döndürmesidir . Örneğin reg query "HKCU\Environment", %TEMP%değişkenimin değerine bağlı olduğunu bana gösterir %USERPROFILE%, bu nedenle bu değer değişirse değeri de değişir %TEMP%. Buna karşılık, SETsadece geri dönüyor"C:\Users\mpag\AppData\Local\Temp"
mpag

1
Neden "zaman kaybetme" diyorsun? Komut istemine "set" yazmak "reg query ..." ifadesinden daha hızlı değil mi?
Alexandre Huat

4

Yeni ayarladığınız ortam değişkenini görmek istiyorsanız, yeni bir komut penceresi açmanız gerekir.

Setx değişkenleriyle ayarlanan değişkenler, geçerli komut penceresinde değil, yalnızca gelecekteki komut pencerelerinde kullanılabilir. ( Setx, Örnekler )


4

Diğer yanıtlarda belirtildiği gibi, settüm ortam değişkenlerini listelemek veya

set [environment_variable] değeri ile belirli bir değişkeni elde etmek.

set [environment_variable]= bir değişkeni çalışma alanından kaldırmak için kullanılabilir.


1
Evet, ama bu soruya nasıl cevap veriyor?
Peter Mortensen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.