Komut Satırında İşlem Yapmak

(Bu kısım benim Ziya Bahtiyar'ın MS-DOS Sizden Korksun kitabına yaptığım katkılardan birisidir. İlgili bölüm kitapta 30-33 nolu sayfalar arasındadır. Ben bu bölümü aşağıda yeni işletim sistemlerine uyarladım. Murat Yıldırımoğlu)

Komut satırından işlem yapmak genellikle işkence gibi gelir ama hiç de öyle değildir. Çok basit bir iki şeye dikkat ederek istediğimiz işi yapabiliriz.

Her şeyden önce, ne yapmak istediğimizi çok iyi kararlaştırmalıyız. Kopya mı yapmak istiyoruz, yoksa yedekleme işlemi mi? Bütün dosyaların listesini mi almak istiyoruz, yoksa yalnızca .com uzantılı olanları mı? Yapacağımız işe karar verdikten sonra komutumuzu vermeliyiz. COPY ya da DIR ya da NTBACKUP gibi. Daha sonra bu komutun neyin üzerinde işleyeceğini, yani nesnesini belirtmeliyiz. Sonra da işlenen nesnelerin gideceği bir yer varsa, bu yeri, yani, hedefi belirleyeceğiz. Ayrıca, yapılacak işin hangi kriterlere uygun olarak yapılacağını belirtmek üzere çeşitli parametreler de verebiliriz (dosya listesini sayfa sayfa göster gibi). Bir örnekle durumu açıklayalım:

Yapmak istediğimiz iş A: sürücüsünde bulunan dosyaların tümünü C: sürücüsündeki DOS dizinine kopyalamak. Komutumuz kopyalama işini yapan COPY komutu olacak. Nesnemiz A: sürücüsündeki bütün dosyalar, hedefimiz ise C:\sürücüsündeki DOS klasörü. Hal böyleyken, verilecek komut da şöyle oluyor:

 

Komut        Nesne            Hedef

COPY    A:*.*    C:\DOS

Yukarıda açıkladığımız komut, nesne ve hedef şeklindeki ayırıma dikkat ederseniz, bilgisayara bir şey yaptırmanın birden kolaylaştığını fark edeceksiniz.

Komut, nesne ve hedef terimleri arasında en az bir boşluk bırakın. İşletim sistemi bu boşluklar yardımı ile komutu, nesneyi ve hedefi ayırt eder.

Şimdi birkaç örnekle durumu daha iyi açıklamaya çalışalım:

1) A: sürücüsündeki diskette bulunan dosyaların listesini görmek istiyoruz. Verilecek komut:

Komut     Nesne 

DIR    A:

Bu komutu verirken bir hedefimizin olmadığına dikkat edin. Çünkü yapmak istediğimiz şey yalnızca bir yerdeki dosyların listesini almak.

2) A: sürücüsünde PSAV adında bir klasör bulunuyor. Bu klasörün içinde çeşitli dosyalarla birlikte VIRUS adında da bir alt klasör bulunuyor. Yapacağımız iş bu klasörü olduğu gibi, yani, alt klasörleriyle birlikte C: sürücüsündeki UTIL klasörünün altında bulunan PSAV klasörüne kopyalamak. Verilecek komut:

Komut            Nesne                        Hedef                       Parametre

XCOPY    A:\PSAV        C:\UTIL\PSAV     /S

Komutumuz XCOPY idi. Bu komutu kullanmamızın nedeni COPY ile alt klasörleri kopyalamamızın olanaksız oluşu. Nesne olarak A: sürücüsündeki PSAV klasörünü veriyoruz. Hedefimiz, yani A: sürücüsündeki dosyaların kopyalanacağı yer, C: sürücüsündeki \UTILS\PSAV klasörü. Dikkat ederseniz bir de /S şeklinde bir parametre verdik. Bu parametrenin yaptığı iş, kopyalama yaparken varsa, alt klasörleirn de kopyalanmasını sağlamak. Eğer bu parametreyi vermezsek A:\PSAV adresindeki dosyalar kopyalanır ama PSAV'ın altındaki VIRUS klasörü ve bu klasör altındaki dosyalar kopyalanmaz.

Komutun nesne ve hedefini belirtirken, yani, nesne ve hedefin adreslerini yazarken "\" karakterini, parametre verirken "/" karakterini kullandığımıza dikkat edin.

3) Ekran karman çorman görünüyor ve biz, her şey silinsin, temiz bir sayfa ile işimize devam edelim istiyoruz. Vermemiz gereken komut:

CLS

Gördüğünüz gibi bu komutun bir nesnesi ya da hedefi yok. Komutu veriyoruz, çıkıyoruz.

4) Bulunduğumuz yer C: sürücüsündeki DOS klasörü. Biz A: sürücüsünde bulunan dosyaları bulunduğumuz yere kopyalamak istiyoruz. Verilecek komut:

Komut        Nesne

COPY    A:*.*      

Yukarıdaki komut tam anlamıyla amaçladığımız işi yapıyor. Ama sanki bir eksiklik var gibi, bilmem siz de eksikliği fark ediyor musunuz? Eksik olan şey hedef. A: sürücüsündeki dosyaları kopyala dedik ama nereye kopyalayacağımızı söylemedik, yani hedefi belirtmedik. Bu gibi durumlarda, hedef adresi olarak bulunduğumuz yer anlaşılır, yani, bulunduğumuz klasör. Orası da başta söylediğimiz gibi, C: sürücüsündeki DOS klasörü olduğuna göre, sorun yok, işlem tamam.