Kapak konumuzun bu bölümünde şu püf noktalarını öğreneceksiniz:
Ancak bu işin bir çözümü var: Söz konusu komutları kullanmanıza izin vermeyecek bir yığın dosyası yazmak. Bu yığın dosyasıyla, örneğin Windows altında açtığınız DOS penceresinde CHKDSK komutunu kullandığınızda, bu komutu kullanmak için Windows'tan çıkmanız gerektiğini belirten bir mesaj alacaksınız.
Yığın dosyamızın ismi YASAK.BAT olsun. Bu yığın dosyası DOS'un DOSKEY özelliğini kullanıp her komut için bir makro yaratacak. Bu makroda uyarı mesajını ekrana getirmeye yarayan UYARI.BAT isimli ikinci bir yığın dosyasının ismi bulunacak. Windows altında kullanılmaması gereken komutlardan birini çalıştırdığınızda DOS bu komut yerine UYARI.BAT çalışacak.
DOSKEY komutu ile pek haşır neşir değilseniz YASAK.BAT dosyasını yaratmadan önce aşağıdaki işlemleri adım adım izlemelisiniz. Önce Windows'un Not Defteri (NotePad) ile boş bir dosyaya aşağıdaki üç satırı girin ve \WINDOWS dizininizin altına UYARI.BAT ismiyle kaydedin:
@ECHO OFF
ECHO Windows ile uyumsuz bir DOS komutu kullandiniz.
ECHO Komutu kullanmak icin Windowstan cikin.
Sonra MS-DOS Bilgi İstemi (MS-DOS Prompt) simgesi üzerine çift tıklayarak bir DOS penceresi açın; komut satırına aşağıdaki komutu girin:
DOSKEY CHKDSK=UYARI.BAT
Şimdi CHKDSK'yı kullanmayı deneyin. DOS, CHKDSK yerine UYARI.BAT'ı çalıştıracak ve yukarıda yazdığınız uyarı mesajını verecektir:
Bu işlemi tüm uyumsuz komutlar için her seferinde tekrarlamamak için YASAK.BAT isminde bir yığın dosyası yaratacağız. Yine Notepad ile \WINDOWS dizini altına kaydedeceğiniz bu dosyada aşağıdaki iki satır bulunsun:
@ECHO OFF
FOR %%1 IN (APPEND CHKDS FASTOPEN SHARE JOIN ASSIGN SUBST) DO DOSKEY %%1=UYARI.BAT
İkinci satırda parantez içindeki DOS komutları, Windows altında yasaklanan komutlar. Windows altında her DOS penceresi açıldığında makronun devreye girmesi için önce PIF Editörü'nü ve DOSPRMPT.PIF dosyasını açın. İsteğe Bağlı Parametreler kısmına aşağıdaki satırı girin:
/K YASAK.BAT
Standart bir COMMAND.COM parametresi olan /K, DOS penceresi açılır açılmaz YASAK.BAT isimli yığın dosyasının da çalışmasını söylüyor. Böylece DOS penceresi açtığınızda yanlışlıkla yasak komutları kullanma endişesinden kurtulacaksınız.
@ ECHO OFF
PROMPT [WINDOWS ALTINDASINIZ] $P$G
Böylece Windows altında bir DOS oturumu açtığınızda ekrana gelen komut satırı aşağıdaki gibi olacak:
[WINDOWS ALTINDASINIZ] C:\>
Bu sorunun çözümü, farklı PIF'lere sahip iki DOS Bilgi İstemi simgesi yaratmaktır. Bunlardan biri sadece DOS komutlarını çalıştıracak kadar bellek ayıran bir mini-DOS oturumu, diğeri büyük programları çalıştıracak kadar bellek ayıran maksi-DOS oturumu olabilir. Böylece mini-DOS penceresini her zaman elinizin altında hazır tutup, maksi-DOS'u ihtiyaç duyduğunuzda açabilirsiniz.
İki ayrı PIF'e sahip iki simge yaratmak zor değildir. MS-DOS Bilgi İstemi'ni çalıştıran standart PIF dosyası, yani DOSPRMPT.PIF, maksi- DOS oturumu için hiç değiştirilmeden kullanılabilir. Öyleyse biz MINPRMPT.PIF isminde daha az bellek kullanan ikinci bir PIF yaratacağız ve bunu ikinci MS-DOS Bilgi İstemi simgesine atayacağız.
Ancak önce işin mantığını kavramak için DOSPRMPT.PIF dosyasına bir göz atalım. Ana (Main) program grubundan PIF Editörü'nü çalıştırın ve DOSPRMPT.PIF dosyasını açın. Program dosyasının adının COMMAND.COM olduğunu göreceksiniz. Bu, DOS oturumunu açan programın adıdır; makinanızı açtığınızda DOS'un çalıştırdığı program da budur.
Pencere Başlığı kısmında ' MS- DOS Bilgi İstemi' yazılıdır. Bu başlık aynı zamanda DOS penceresi açmak için çift tıkladığınız simgenin ismidir.
PIF Editörü penceresinde en önemli bilgiler Gerekli KB ve İstenen KB bilgileridir.
Bunların ' default' değerleri 128K ve 640K'dır. Diğer bir deyişle, bellek yeterliyse 640K'ya kadar
bellek gerektiren programlarınızı DOS penceresinde çalıştırabilirsiniz. Ancak sizin hedefiniz, mini-
DOS oturumu için sadece 128K isteyen bir PIF ve bu PIF'i çalıştıran bir simge yaratmak. İşte bu işi şu
aşamaları takip ederek gerçekleştiriyoruz:
PROMPT [WINDOWS ALTINDASINIZ] $P$G
satırını
PROMPT [MAKSI-DOS OTURUMU] $P$G
olarak değiştirirsek bu işi gerçekleştiririz. Mini-DOS oturumu için NotePad ile YASAK.BAT dosyasını açıp aynı satırı
PROMPT [MINI-DOS OTURUMU] $P$G
olarak değiştirin ve dosyayı MINYASAK.BAT adıyla yeniden kaydedin. Böylece bu dosyanın farklı isimde bir kopyasını yaratmış oldunuz. Sonra PIF Editörü'nü ve MINPRMPT.PIF dosyasını açın. İsteğe Bağlı Parametreler kısmına aşağıdaki satırı girin:
/K MINYASAK.BAT
Çalıştır diyalog kutusunun komut satırı DOS komut satırından farklıdır: DOS'un dahili komutlarını kabul etmez. Bu komutlar DOS dizininde yer alan ayrı programlar değildir; bellekte kalıcı olarak yerleşen programlardır. COPY, DATE, DEL, DIR, MKDIR, PATH, PROMPT, SET, TIME ve TYPE gibi dahili komutlara dolaylı yoldan - yığın dosyaları yaratarak - Dosya*Çalıştır komutu ile erişebilirsiniz.
Bütün bu yığın dosyaları aynı ilkeye dayanır. Örneğin aşağıdaki gibi hazırlanmış bir DIRW.BAT dosyasını Dosya*Çalıştır komut satırından çalıştırarak dizinlerinizi ve dosyalarınızı listeletebilirsiniz:
@ECHO OFF
DIR %1
PAUSE
DIRW.BAT'ı kullanabilmek için, bulunduğu dizin AUTOEXE.BAT dosyasının PATH satırında tanımlanmış olmalı. Örneğin C:\WINDOWS dizinindeki alt-dizin ve dosyaları görüntülemek için bu komutu Çalıştır diyalog kutusunun Komut Satırı bölümüne şu şekilde yazabiliriz:
DIRW \WINDOWS
DIRW ile DIR'ın /P (Durakla), /S (alt dizinleri içer), /B (kısa liste) gibi parametrelerini de kullanabiliriz. Örneğin C:\YEDEK\DOSYA dizininin listesini alırken, ekran dolunca duraklaması ve alt-dizinlerin de görüntülenmesi için şu komutu kullanacağız:
DIRW \YEDEK\DOSYA/P/S