Bir toplu iş dosyasına yorum yapmanın birkaç yolu vardır
1) rem kullanma
Bu resmi yol. Görünüşe göre ::
, carets işlenmeden önce erken ayrıştırmayı durdursa da, yürütülmesi daha uzun sürer . Yüzde genişletme rem'den önce gerçekleşir ve ::
tanımlanır, bu nedenle yanlış yüzde kullanımı yani %~
yüzdeler varsa hatalara neden olur. Kod bloklarında her yerde güvenle kullanılabilir.
2) etiketleri kullanılarak :
, ::
ya da :;
vs.
İçin :: comment
, ': comment' nedeniyle geçersiz etiket adıdır başlar geçersiz bir karakterle. Yine de bir etiketin ortasında iki nokta üst üste kullanmak iyidir. Bir uzay etiketin başlangıcında başlıyorsa, kaldırılır o : label
olur :label
. Etiketin ortasında bir boşluk veya iki nokta üst üste işareti görünürse, adın geri kalanı yorumlanmaz; yani iki etiket varsa :f:oo
ve :f rr
her ikisi :f
de dosya olarak yorumlanır ve yalnızca dosyada daha sonra tanımlanan etikete atlanır. Etiketin geri kalanı etkili bir yorumdur. Burada ::
listelenen birden fazla alternatif var . Asla goto
ya call
da ::foo
etiket yapamazsın . goto :foo
ve goto ::foo
çalışmaz.
Kod bloklarının dışında iyi çalışırlar, ancak kod bloğundaki bir etiketten sonra, geçersiz veya değil, geçerli bir komut satırı olmalıdır. :: comment
aslında başka bir geçerli komuttur. Bunu bir etiket olarak değil, bir komut olarak yorumlar; komutun önceliği vardır. Hangi ::
cildin cd komutudur, yürüttüyseniz çalışır subst :: C:\
, aksi takdirde bir ses hatası bulamazsınız. Bu yüzden :;
tartışmasız daha iyidir çünkü bu şekilde yorumlanamaz ve bu nedenle geçerli komut olarak işlev gören bir etiket olarak yorumlanır. Bu özyinelemeli değildir, yani bir sonraki etiketin bundan sonra bir komuta ihtiyacı yoktur. Bu yüzden ikişer ikişer geliyorlar.
Etiketin ardından geçerli bir komut vermeniz gerekir, örn echo something
. Kod bloğundaki bir etiket en az bir geçerli komutla gelmelidir, bu nedenle satırlar ikişer ikişer ikişer gelir. Bir )
sonraki satırda boşluk veya kapanış parantezi varsa beklenmedik bir hata alırsınız . İki ::
satır arasında boşluk varsa geçersiz bir sözdizimi hatası alırsınız.
Yorumda şale operatörünü şu şekilde kullanabilirsiniz ::
:
@echo off
echo hello
(
:;(^
this^
is^
a^
comment^
)
:;
)
:;^
this^
is^
a^
comment
:;
)
Ancak :;
, yukarıda belirtilen neden için izlemeye ihtiyacınız var .
@echo off
(
echo hello
:;
:; comment
:; comment
:;
)
echo hello
Çift bir sayı olduğu sürece iyidir. Bu şüphesiz yorum yapmanın en iyi yoludur - 4 satır ve :;
. İle :;
sen alamadım gereken herhangi hatalar kullanılarak bastırılması için 2> nul
ya subst :: C:\
. subst :: C:\
Birim bulunamadı hatasını gidermek için kullanabilirsiniz , ancak çalışma dizininizin oluşmasını önlemek için C: kodunu da koyacağınız anlamına gelir ::\
.
Bir satırın sonuna yorum yapmak için şunları yapabilirsiniz:
command &::
veya command & rem comment
yine de çift sayı olması gerekir, şöyle:
@echo off
(
echo hello & :;yes
echo hello & :;yes
:;
)
echo hello
Birincisi echo hello & :;yes
sonraki satırda geçerli bir komut var ama ikincisi & :;yes
yok, bu yüzden bir tane gerekiyor :;
.
3) Geçersiz bir ortam değişkeni kullanmak
%= comment =%
. Bir toplu iş dosyasında, tanımlı olmayan ortam değişkenleri komut dosyasından kaldırılır. Bu, bunları bir çizginin sonunda kullanmadan kullanmayı mümkün kılar &
. Eşittir işareti içeren geçersiz bir ortam değişkeni kullanmak özeldir. Ekstra eşitlik gerekli değildir ancak simetrik görünmesini sağlar. Ayrıca, "=" ile başlayan değişken adları belgelenmemiş dinamik değişkenler için ayrılmıştır. Bu dinamik değişkenler asla "=" ile bitmez, bu nedenle yorumun başında ve sonunda "=" kullanıldığında ad çakışması olasılığı yoktur. Yorum %
veya içeremez :
.
@echo off
echo This is an example of an %= Inline Comment =% in the middle of a line.
4) Komut olarak stderr'ı nul'a yönlendirmek
@echo off
(
echo hello
;this is a comment 2> nul
;this is another comment 2> nul
)
5) Bir dosyanın sonunda, kapatılmamış bir parantezden sonraki her şey bir yorumdur
@echo off
(
echo hello
)
(this is a comment
this is a comment
this is a comment