SORU
4 Mayıs 2010, Salı


Toplu iş dosyası değişkenleri için harici bir dosya vardır

Bir toplu iş dosyası var ve harici bir dosya bazı değişkenleri (yapılandırma değişkenleri) içeren dahil etmek istiyorum. Mümkün mü?

CEVAP
4 Mayıs 2010, Salı


Not:Çoğu insan ciddi farklar vardır farkında olmak ve körü körüne DOS siyah arka plan üzerinde gri metin ile her şeyi aramak gibi Windows toplu iş dosyaları varsayıyorum. Yine de, ilk versiyonu DOS de çalışması gerekir.

Yapılandırma yürütülebilir

Bu ist sadece toplu değişkenleri koymak için yapmak için en kolay yolu, kendilerini set kendi deyimiyle: her dosya

set var1=value1
set var2=value2
...

ve ana parti:

call config.cmd

Tabii ki, o da değişkenleri çok yönlü, bu yüzden koşullu olarak oluşturulan ya da sistemin özelliklerine bağlı olarak, sağlar. Ancak, isteğe bağlı kod çalıştırmak ve eğer bir sözdizimi hatası varsa, o zaman ana parti de kapanacak. UNİX dünyasında oldukça sık rastlanan, özellikle kabukları gibi görünüyor. Ve eğer düşünürseniz, autoexec.bat başka bir şey değil.

Anahtar/değer çiftleri

Başka bir yolu yapılandırma dosyası var=value çift çeşit olabilir:

var1=value1
var2=value2
...

Daha sonra aşağıdaki kod onları yüklemek için kullanabilirsiniz:

for /f "delims=" %%x in (config.txt) do (set "%%x")

Bu daha önce de benzer bir numara, yani sadece set her satırda kullanarak kullanır. Tırnak işaretleri yok*, , *, *15>*14<gibi şeyler kaçmak için. Ancak, onlar tırnak giriş kullanıldığında kendilerini kırmak. Siz de her zaman değişkenler, daha fazla işlem verileri bu tür karakterler ile saklı dikkatli olmak gerekir.

Genellikle, otomatik olarak rasgele giriş toplu dosyalarında bir baş ağrısı ya da sorunlara neden kaçıyor bana oldukça imkansız görünüyor. En azından henüz bir yol bulamadım. İlk çözüm tabii ki, bir yapılandırma dosyası yazmak için bu sorumluluğu zorluyorsun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • lilstevie89

    lilstevie89

    25 Mart 2011