Komut istemi (Cmd. exe) komut satırı dizesi sınırlaması
Bu makalede, Komut İstemi'ndeki (Cmd.exe) komut isteminden kullandığınız dizelerin uzunluğuyla ilgili sınırlama açıklanır. Ayrıca bu sınırlamayı geçici olarak çözmek için kullanabileceğiniz yöntemler de sağlar.
Şunlar için geçerlidir: Windows Server 2012 R2, Windows Server 2008 R2 Service Pack 1, Windows 7 Service Pack 1
Özgün KB numarası: 830473
Daha fazla bilgi
Komut isteminde kullanabileceğiniz dize uzunluğu üst sınırı 8191 karakterdir.
Bu sınırlama şunlar için geçerlidir:
- komut satırı
- PATH değişkeni gibi diğer işlemler tarafından devralınan bağımsız ortam değişkenleri
- tüm ortam değişkeni genişletmeleri
Toplu iş dosyalarını çalıştırmak için Komut İstemi'ni kullanırsanız, bu sınırlama toplu iş dosyası işleme için de geçerlidir.
Örnekler
Aşağıdaki örneklerde, bu sınırlamanın Komut İstemi'nde çalıştırdığınız komutlar ve toplu iş dosyasında kullandığınız komutlar için nasıl geçerli olduğu gösterilmiştir.
Komut İstemi'nde, aşağıdaki komut satırının toplam uzunluğu 8191 karakterden fazla olamaz:
cmd.exe /k ExecutableFile.exe parameter1, parameter2... parameterN
Toplu iş dosyasında, aşağıdaki komut satırının toplam uzunluğu 8191 karakterden fazla olamaz:
cmd.exe /k ExecutableFile.exe parameter1, parameter2... parameterN
Bu sınırlama, toplu iş dosyasını çalıştırmak için Komut İstemi'ni kullandığınızda toplu iş dosyalarında yer alan komut satırları için geçerlidir.
Komut İstemi'nde, genişlettikten
EnvironmentVariable2
EnvironmentVariable3
sonra toplam uzunluğuEnvironmentVariable1
8191 karakterden fazla olamaz:c:> set EnvironmentVariable1 = EnvironmentVariable2 EnvironmentVariable3
Toplu iş dosyasında, parametreleri genişlettikten sonra aşağıdaki komut satırının toplam uzunluğu 8191 karakterden fazla olamaz:
ExecutableFile.exe parameter1 parameter2
Ortam değişkenleri için Win32 sınırlaması 32.767 karakter olsa da, Komut İstemi üst işlemden devralınan ve kendi 8191 karakterlik sınırlamalarından (işletim sistemine uygun olarak) daha uzun olan ortam değişkenlerini yoksayar. İşlev hakkında
SetEnvironmentVariable
daha fazla bilgi için bkz. SetEnvironmentVariableA işlevi.
Sınırlamayı geçici olarak çözmek için
Sınırlamayı geçici olarak çözmek için aşağıdaki yöntemlerden bir veya daha fazlasını sizin durumunuz için uygun şekilde kullanın:
Uzun komut satırları gerektiren programları değiştirerek parametre bilgilerini içeren bir dosya kullanmalarını ve ardından dosyanın adını komut satırına eklemelerini sağlayın.
Örneğin, komut satırını bir toplu iş dosyasında kullanmak
ExecutableFile.exe Parameter1 Parameter2... ParameterN
yerine, programı aşağıdaki komut satırına benzer bir komut satırı kullanacak şekilde değiştirin; burada ParameterFile gerekli parametreleri içeren bir dosyadır (parametre1 parametre2... ParametreN:ExecutableFile.exe c:\temp\ParameterFile.txt
Ortam değişkenlerinin 8191 karakterden az içermesi için büyük ortam değişkenleri kullanan programları değiştirin.
Örneğin, PATH ortam değişkeni 8191'den fazla karakter içeriyorsa, karakter sayısını azaltmak için aşağıdaki yöntemlerden birini veya daha fazlasını kullanın:
- Klasörler ve dosyalar için daha kısa adlar kullanın.
- Klasör ağaçlarının derinliğini azaltın.
- PATH ortam değişkeninde daha az klasör gerekmesi için dosyaları daha az klasöre depolayın.
- .dll dosyalarını bulmak için PATH bağımlılığını azaltmak için kullanabileceğiniz olası yöntemleri araştırın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin