SORU
11 Ocak 2013, Cuma


Toplu iş parametreleri kullanarak DOS komut satırında dosyaları

Windows, nasıl bağımsız bir toplu iş dosyasını çalıştırmak zaman geçti erişimi musunuz?

Örneğin, diyelim ki bir program hello.bat adında bir arkadaşım var. DOS komut satırına hello -a girdiğimde, benim programımı -a bir argüman olarak kabul edildi bu haber vereceğim?

CEVAP
12 Ocak 2013, CUMARTESİ


Diğerleri zaten söylediğim gibi, parametreler komut satırından geçirilen gösterim %1 7 ** ile toplu iş dosyaları erişilebilir. Ayrıca kullanabileceğiniz diğer iki belirteçleri vardır:

  • %0çalıştırılabilir (toplu iş dosyası) komut satırında belirtilen adı.
  • %*tüm parametreleri komut satırında belirtilen-- bu öne eğer başka bir program parametreleri istiyorsanız bu çok yararlıdır.

Ayrıca önemli teknikler çok farkında olmak parametrelerine erişim için sadece ek olarak vardır.

Bir parametre olmadığını kontrol geçildi

Bu ise hiçbir bağımsız değişkene geçmiş olsaydı eğer gerçek olan IF "%~1"=="", gibi yapıları ile yapılır. Not tilde karakteri neden olan herhangi bir tırnak çevresi için kaldırıldı değeri %1; olmadan bir tilde alacaksın beklenmeyen sonuçlar varsa bu değeri içeren çift tırnak da dahil olmak üzere mümkün sözdizimi hatası.

İşleme 9'dan fazla bağımsız değişken (ya da sadece yaşamı kolaylaştırır)

Eğer 9'dan fazla bağımsız değişken erişmek gerekirse komutu SHIFT kullanmak zorunda. Bu %0 %1, %1 değerini %2 gibi değer alır, böylece komut vardiya tüm değişkenlerin değerleri bir yer. %9 SHIFT (daha fazla seçenek için komut SHIFT /? enter) çağırmadan önce herhangi bir değişken mevcut değildi onuncu argüman ise, (varsa) değerini alır.

SHIFT kolayca belirli bir düzen sunulmuştur gerektirmeden parametreleri işlemek istediğinizde de yararlıdır. Örneğin, bir komut dosyası bayrak -a ve herhangi bir sırada -b tanıyabilir. Bu gibi durumlarda komut satırı ayrıştırmak için iyi bir yoldur

:parse
IF "%~1"=="" GOTO endparse
IF "%~1"=="-a" REM do something
IF "%~1"=="-b" REM do something else
SHIFT
GOTO parse
:endparse
REM ready for action!

Bu düzeni deliye olmadan oldukça karmaşık komut satırı ayrıştırmak için izin verir.

Toplu parametrelerin değişimi

Dosya adları temsil eden parametreleri için kabuk işlevi başka bir şekilde erişilebilir değil, dosyalarla çalışmak ile ilgili bir sürü sağlar. Bu işlevsellik %~ ile başlayan yapıları ile erişilebilir.

Örneğin, dosya boyutunu argüman olarak almak için kullanın

ECHO %~z1

Toplu iş dosyasından başlatılan olduğu dizinin yolunu (çok yararlı!) kullanabilirsiniz

ECHO %~dp0

Komut CALL /? yazarak bu yetenekleri görebilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • John Lynn

    John Lynn

    8 Ocak 2010
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013