Bu makale, %1, 1, and $1’nin ne olduğunu ve %1, 1, and $1’nin nasıl kullanılacağını ayrıntılı olarak açıklayacaktır.
%1, 1 ve $1
Bir komut satırında, komut dosyasında veya toplu iş dosyasında kullanıldığında, %1 değişkeni veya eşleşen bir dizeyi temsil etmek için kullanılır. Örneğin, bir Microsoft toplu iş dosyasında %1, toplu iş dosyası adından sonra girilenleri yazdırabilir.
Aşağıdaki örnekte, %1 kullanılarak toplu iş dosyası “Merhaba xxxx tanıştığımıza memnun oldum” yazdırır; burada xxxx, toplu iş dosyasının adından sonra ne girerseniz girin. Bu nedenle, bu toplu iş dosyasının adı example.bat ise ve örnek Nathan yazarsanız, toplu iş dosyası “Merhaba Nathan, tanıştığımıza memnun oldum” ifadesini döndürür.
@echo off
if %1== goto error
echo Hello %1 it's nice to meet you
goto end
:error
echo type your name after batch file.
:end
Diğer programlama dillerinde ve komut dosyası dillerinde, %1, 1 veya $1 yerine kullanılabilir. Örneğin, Perl’de bunlar, eşleşen metni yazdırmak için normal bir ifadede kullanılabilir veya yeni bir değişken olarak kullanılabilir. Aşağıdaki örnekte, $text değişkeni herhangi bir metin içeriyorsa, “Merhaba xxxx” yazdırır, burada xxxx eşleşendir. Yani, eğer $text = Joe Smith ise, komut dosyası “Merhaba Joe” döndürür.
if ($text =~ s/^([a-z]+)/i) { print Hello $1n; }
Bu eşleşen dizelerin veya değişkenlerin her biri, değer artırılarak da genişletilebilir. Örneğin, bulunan bir sonraki eşleşen dize veya değişken %2, 2 veya $2 olarak girilebilir. Yukarıdaki toplu iş dosyası örneğinde, aşağıdaki örnekte gösterildiği gibi soyadını da yazdırmak için %2 ekleyebilirsiniz. Soyadı girilmediyse, %2 hiçbir şey yazdırmaz.
echo Hello %1 %2 it's nice to meet you
Yukarıdaki Perl örneğinde, 2 $eklenmesi, aşağıda gösterildiği gibi parantez içinde eşleşen ikinci dizeyi yazdıracaktır.
if ($text =~ s/^([a-z]+) ([a-z]+)/i) { print Hello $1 $2n; }
Ayrıca 3, 4, 5 vb. ile eşleşen ek dizeler veya değişkenler de ekleyebilirsiniz (Örn. %3, %4 veya $3, $4.)