.BAT Programlama
#1
access-sql-3 
Bu yazıda size bat programlamadan .Yazıyı bir okuyuşta bat programlamayı hemen öğrendiğinize hayret ederek bat programlaya başlayacaksınız.Öncelikle bat programlama ne işe yarar?

Bat programlama dos komutlarının belli bir grup çerçevesi içinde bir araya getirip bir arada çalıştırmaya yarar.Bir çok komutu sadece yarattığımız dosyaya çift tıklayarak çalıştırabildiği için inanılmaz büyük kolaylık sağlıyor.Aslında tam olarak ne işe yaradığını yazıyı okuyup bat programcılığını hafiften anlayınca göreceksiniz. İlk önce bir bat dosyası nasıl oluşturulur ondan bahsedelim.

Başlat çalıştır diyin ve notepad yazarak not defterini çalıştırın.Sonra bu boş dosyayı kaydet diyelim.Aşağıdaki görüntüde olduğu gibi tüm dosyalar diyerek ilk.bat diyerek kaydedelim.

[Resim: clipboard01zp6.jpg]

Şimdi notepad i kapatın.Kaydettiğiniz ilk.bat dosyasına sağ tıklayıp düzenle diyin.Tekrar notepad programına gelmiş bulunuyoruz.
Artık buradan sonra komutlarımızı girmeye başlayacağız.Şimdi ufak bir program yazmaya başlayalım. @echo offecho merhaba pause Bu satırları yazıp dosyayı kaydettikten sonra bat dosyamıza çift tıklayıp çalıştıralım. Çalıştırdığınız zaman ekrana dos penceresi gelecek ve sizi merhaba mesajıyla karşılayacak ve siz bir tuşa basıncaya kadar sizi bekleyecek( zaten altta çıkan mesajda tam bundan bahsediyor ).
Gördüğümüz üzere programımız merhaba çıktısını verdi ekrana.Gelelim buradaki komutların ne işe yaradığına.

@echo off: Bat dosyasının çalıştırıldığı zaman ekrana işlenilen bütün komutları sıralar.Bu komutu eğer programın başına eklersek hiçbir komut listelenmez.
echo …:Bu komutun yanına yazılan yazıyı ekrana yazdırır.
pause:Normalde komutlar çalıştırıldıktan sonra program dos tan çıkar.Eğer bu komutu programın herhangi bir yerine eklerseniz program orda durur.

Şimdi işe yarar bir program yazalım artık.Hepiniz bilirsiniz ki Windows umuz sürekli sistemin orasında burasında geçici işe yaramayan dosya birikintileri bırakır.Bunlardan kurtulmak için gidip programlar kullanırız hepimiz.Peki bunu kendi yazdığınız bat programı gerçekleştirse daha güzel olmaz mı?
Hem dışardan bir program yükleyerek sistemimize yük getirmiyoruz, hem de diğer yükleyeceğimiz programa karşın çok daha hızlı bir programa sahip olacağız.Böyle bahsedince düşünmeyin ki bu programı yapmak çok zor.Aslında değil.Aşağıda kodları görünce ne kadar kolay olduğunu göreceksiniz.İşe not defterindeki komutlarımızı temizlemekle başlayalım ve kodlarımızı yazalım..

[Resim: clipboard03ps5.jpg]

Şimdiye kadar daha önce görmediğimiz komutları bilmeyenler için tanıtalım:

del: Dosya silme komutu

del /f/q/s:Bu parametrelerle beraber bir çok dosya (/f)silme işlemine kalkıldığı zaman programınız soru sormayacak, (/s)alt dizinlerdeki silme işlemlerini de yapacak.

cd:İstediğiniz klasöre geçmek için bu komutu kullanacağız. İşte bu programımızla beraber sistemimizdeki tüm gereksiz dosyaları silerek sistemimizi rahata erdirebiliyoruz.

İşte böylece hafiften bat programcılığıyla neler yapılabileceğini anlamış olduk.Eğer istek gelirse belki daha gelişkin programlar yazmaya devam ederiz buradaki derslerimizle.Bir dahaki yazımızda görüşmek üzere.

Not: Bat komutlarının tam listesini örneklerle beraber gösteren ingilizce bir site var,buradan yararlanabilirsiniz..:
http://academic.evergreen.edu/projects/b.../batch.htm


Altıntı: E-hayat.net



  Alıntı
Bu mesajı beğenenler:
#2
DİĞER ".BAT" ve CMD Komutları :

md
md dosyaadı :seçilen adda dosya oluşturur(tabii ki içi boş yani 0 byte)

rd
rd dosyaadı :seçilen addaki dosyayı siler. tabii ki dosya boş olmalıdır..

del
del dosya adı/konumu : bu komuut dosyayı siler. del C:\bisey.txt gibi... (bakınız *)

del *.txt
del *.*
olarak da kullanılabilir.

echo
echo yazdırılmak istenen sey: echo bisey yazdırır yani ekranda (yandaki komuta gore yazdırılmak istenen sey yazar.)

echo off
normalde dosyayı açan kişi tüm komutları görür ama bunu yazarsanız göremez.


Bu komut başa yazılmalıdır.

@echo
@echo komutu echo ile aynıdır fakat echo yerine @echo’yu kullanırsanız yazdırdığınız şeyin başındaki echo gözükmez.

dir
dir direkt (yanına bisey gelmeden yazılırsa bat dosyamızın olduğu dizindeki dosyaları programda yazdırır.

dir >info.txt: bu sefer de dosyamızın olduğu dizindeki dosyaları info.txt ye yazdırır. Böyle bir text yoksa kendi açar.

call
call batdosyasi.bat: bat dosyamızın içinde istediğimiz bat dosyasını açar. bat dosyası bizim bat dosyamızın (çalıştırdığımız) içinde olmalıdır. Yoksa konum belirtilmelidir.

start
start dosya.uzantı: herhangi bir uzantılı dosyayı açar bu txt, exe, doc ...gibi bisey olabilir farketmez. (bat dahil)



call bisey.bat derse bat dosyamızın içinde açar ama start bisey.bat dersek ayrı pencerede açar.

cls: ekranı temizler. (DOS’ta olduğu gibi)

pause:"Devam etmek için bir tusa basın" yazısı cıkar bir tusa basılınca devam eder. pause >nul yazılırsa "Devam etmek için bir tusa basın" cıkmaz direkt bir tusa basılıp devam edilir. Genelde bu komut program sonunda kullanılır.

goto
Örn:
goto git
echo bu metin isleme alınmaz (Program Direkt git diye olusturulan bir yere gider.)
:git



Örn:
:hop
echo hep yazılacak (döngü) metin
goto hop




Bu program sonsuz döngüdedir. Metin yazılır tekrar hopa gider tekrar yazılır ve tekrar hopa gider...

ren
ren dosya adi yenidosya adi: dosya adi yenidosya adi olarak değiştirilir.

type
type dosyaadi: bir dosyanın içindekileri programda ekrana yazdırmak için kullanılır.

Örn:
type metin.txt

choice
klavyeden girdi almamızı sağlar.

Örn:

@echo off
choice /C:123456789 /M "Your choice [1-9]? "
if errorlevel 9 goto 9
if errorlevel 8 goto 8
if errorlevel 7 goto 7
if errorlevel 6 goto 6
if errorlevel 5 goto 5
if errorlevel 4 goto 4
if errorlevel 3 goto 3
if errorlevel 2 goto 2
if errorlevel 1 goto 1
:1
echo Secimin BİR
goto bitti
:2
echo secimin İKİ
goto bitti
:3
echo secimin ÜÇ
goto bitti
:4
echo secimin DÖRT
goto bitti
:5
echo secimin BEŞ
goto bitti
:6
echo secimin ALTI
goto bitti
:7
echo secimin YEDİ
goto bitti
:8
echo secimin SEKİZ
goto bitti
:9
echo secimin DOKUZ
goto bitti
:bitti
pause



Seciminiz ne ise onu yazdırır incelerseniz anlayacaksınız.

XCOPY /Y
XCOPY /Y *.BAT ad.bat: Kopyalanmak istenen dosyayı ad.bat olarak kopyalar. Dosyayı aynı adda kopyalayacaksak XCOPY /Y *.BAT i:klasör komutu yeterlidir.



Bu komutla sistem ve gizli dosyalar kopyalanmaz. Fakat xcopy //y yerine direkt copy yazılırsa her dosyayı kopyalamak mümkündür.

move
move dosyaadi dosyaadi: Bir dosyayı diğer bir dosyaya taşımamızı sağlar.

exit

programi bitirir. pause gibi bitmesi icin bir tusa basmaya gerek kalmaz. Direkt biter



Herhengibir yazi basina ":" konularak(tirnaksiz) isleme alınması engellenebilir.

CMD KOMUTLARI: (çalıştır butonuna cmd yazarsanız)
ASSOC Dosya uzantısı ilişkilendirmesini görüntüler ya da değiştirir


AT Bilgisayarda çalıştırılmak üzere komut ve program zamanlaması yapar.


ATTRIB Dosya özniteliklerini görüntüler ya da değiştirir.

BREAK Uzatılmış CTRL+C denetimini ayarlar ya da temizler.

CACLS Dosyanın erişim denetim listelerini (ACLs) görüntüler ya da
değiştirir.

CALL Bir başkasından bir toplu iş programını çağırır.

CD Geçerli dizinin adını değiştirir ya da görüntüler.

CHCP Etkin kod sayfası numarasını görüntüler ya da ayarlar.

CHDIR Geçerli dizini değiştirir ya da görüntüler.

CHKDSK Bir diski gözden geçirip durum raporu verir.

CHKNTFS Önyükleme sırasında disk denetimini görüntüler ya da değiştirir.

CLS Ekrandakileri siler.

CMD Windows komut yorumcusunun yeni bir kopyasını başlatır.

COLOR Varsayılan konsol arka plan ve ön plan renklerini ayarlar.

COMP İki dosya ya da dosya kümesinin içeriğini karşılaştırır.

COMPACT NTFS bölümündeki dosyaların sıkıştırmasını gösterir ya da yapar.

CONVERT FAT birimleri NTFS'ye dönüştürür. Geçerli sürücüyü dönüştüremezsiniz.

COPY Bir ya da birden çok dosyayı bir başka konuma kopyalar.

DATE Tarihi görüntüler ya da ayarlar.

DEL Bir ya da birden çok dosyayı siler.

DIR Bir dizindeki dosya ve alt dizin listesini görüntüler.

DISKCOMP İki disket içeriğini karşılaştırır.

DISKCOPY Bir disketin içeriğini diğerine kopyalar.

DOSKEY Komut satırı düzenler, Windows komutu geri çağırıp makro oluşturur.

ECHO İleti görüntüler ya da komut yankısını açıp kapatır.

ENDLOCAL Bir toplu iş dosyasındaki çevre yerelleştirmesini sonlandırır.

ERASE Bir ya da birden çok dosyayı siler.

EXIT CMD.EXE programından (komut yorumcusu) çıkar.

FC İki dosyayı ya da dosya kümesini karşılaştırıp aralarındaki farkı
görüntüler.

FIND Bir dosyada ya da dosyalarda bir metin dizesini arar.

FINDSTR Dosyalarda dize arar.

FOR Dosya kümesindeki her bir dosyada belirli bir komutu çalıştırır.

FORMAT Windows'da kullanmak üzere bir diski biçimlendirir.

FTYPE Dosya uzantısı ilişkilendirmesinde kullanılan dosya türlerini
görüntüler ya da değiştirir.

GOTO Bir toplu iş dosyasında, Windows komut yorumlayıcısını etiketli bir
satıra yöneltir.

GRAFTABL Grafik modunda, Windows'un dile özgü karakterleri görüntülemesini
sağlar.

HELP Windows komutları için Yardım bilgisi sağlar.

IF Bir toplu iş dosyasındaki koşullu işlemleri uygular.

LABEL Bir diskin birim etiketini oluşturur, değiştirir ya da siler.

MD Bir dizin oluşturur.

MKDIR Bir dizin oluşturur.

MODE Bir sistem aygıtını yapılandırır.

MORE Çıktıyı bir defada ekranda görüntüler.

MOVE Bir ya da birden çok dosyayı bir dizinden diğerine taşır.

PATH Çalıştırılabilir dosyalar için bir arama yolu görüntüler ya da
ayarlar.

PAUSE Bir toplu iş dosyasının işlemesini askıya alıp ileti görüntüler.

POPD Geçerli dizinin PUSHD tarafından kaydedilen eski değerini geri yükler.

PRINT Bir metin dosyasını yazdırır.

PROMPT Windows komut istemini değiştirir.

PUSHD Geçerli dizini kaydedip değiştirir.

RD Dizin kaldırır.

RECOVER Bozuk ya da hasarlı bir diskten okunabilir bilgiyi kurtarır.

REM Toplu iş dosyalarındaki ya da CONFIG.SYS açıklamalarını (yorum) okur.

REN Dosyaları yeniden adlandırır.

RENAME Dosyaları yeniden adlandırır.

REPLACE Dosyaları yenisiyle değiştirir.

RMDIR Dizini kaldırır.

SET Windows çevre değişkenlerini görüntüler, ayarlar ya da kaldırır.

SETLOCAL Toplu iş dosyasındaki çevre değişikliklerinin yerelleştirmesine
başlar.

SHIFT Toplu iş dosyasındaki değiştirilebilir parametre konumunu değiştirir.

SORT Girdiyi sıralar.

START Belirli program ya da komutu çalıştırmak için ayrı bir pencere açar.

SUBST Bir yolu bir sürücü harfiyle ilişkilendirir.

TIME Sistem saatini görüntüler ya da ayarlar.

TITLE CMD.EXE oturumu için pencere başlığını belirler.

TREE Bir sürücü ya da yolun resimsel dizin yapısını görüntüler.

TYPE Bir metin dosyasının içeriğini görüntüler.

VER Windows sürümünü görüntüler.

VERIFY Windows'a, dosyalarınızın diske doğru yazıldığını doğrulayıp
doğrulamamasını bildirir.

VOL Disk birim etiketi ve seri numarasını görüntüler.

XCOPY Dosya ve dizin ağaçlarını kopyalar.

ASSOC Dosya uzantısı ilişkilendirmesini görüntüler ya da değiştirir
AT Bilgisayarda çalıştırılmak üzere komut ve program zamanlaması yapar.
ATTRIB Dosya özniteliklerini görüntüler ya da değiştirir.
BREAK Uzatılmış CTRL+C denetimini ayarlar ya da temizler.
CACLS Dosyanın erişim denetim listelerini (ACLs) görüntüler ya da
değiştirir.
CALL Bir başkasından bir toplu iş programını çağırır.
CD Geçerli dizinin adını değiştirir ya da görüntüler.
CHCP Etkin kod sayfası numarasını görüntüler ya da ayarlar.
CHDIR Geçerli dizini değiştirir ya da görüntüler.
CHKDSK Bir diski gözden geçirip durum raporu verir.
CHKNTFS Önyükleme sırasında disk denetimini görüntüler ya da değiştirir.
CLS Ekrandakileri siler.
CMD Windows komut yorumcusunun yeni bir kopyasını başlatır.
COLOR Varsayılan konsol arka plan ve ön plan renklerini ayarlar.
COMP İki dosya ya da dosya kümesinin içeriğini karşılaştırır.
COMPACT NTFS bölümündeki dosyaların sıkıştırmasını gösterir ya da yapar.
CONVERT FAT birimleri NTFS'ye dönüştürür. Geçerli sürücüyü dönüştüremezsiniz.
COPY Bir ya da birden çok dosyayı bir başka konuma kopyalar.
DATE Tarihi görüntüler ya da ayarlar.
DEL Bir ya da birden çok dosyayı siler.
DIR Bir dizindeki dosya ve alt dizin listesini görüntüler.
DISKCOMP İki disket içeriğini karşılaştırır.
DISKCOPY Bir disketin içeriğini diğerine kopyalar.
DOSKEY Komut satırı düzenler, Windows komutu geri çağırıp makro oluşturur.
ECHO İleti görüntüler ya da komut yankısını açıp kapatır.
ENDLOCAL Bir toplu iş dosyasındaki çevre yerelleştirmesini sonlandırır.
ERASE Bir ya da birden çok dosyayı siler.
EXIT CMD.EXE programından (komut yorumcusu) çıkar.
FC İki dosyayı ya da dosya kümesini karşılaştırıp aralarındaki farkı
görüntüler.
FIND Bir dosyada ya da dosyalarda bir metin dizesini arar.
FINDSTR Dosyalarda dize arar.
FOR Dosya kümesindeki her bir dosyada belirli bir komutu çalıştırır.
FORMAT Windows'da kullanmak üzere bir diski biçimlendirir.
FTYPE Dosya uzantısı ilişkilendirmesinde kullanılan dosya türlerini
görüntüler ya da değiştirir.
GOTO Bir toplu iş dosyasında, Windows komut yorumlayıcısını etiketli bir
satıra yöneltir.
GRAFTABL Grafik modunda, Windows'un dile özgü karakterleri görüntülemesini
sağlar.
HELP Windows komutları için Yardım bilgisi sağlar.
IF Bir toplu iş dosyasındaki koşullu işlemleri uygular.
LABEL Bir diskin birim etiketini oluşturur, değiştirir ya da siler.
MD Bir dizin oluşturur.
MKDIR Bir dizin oluşturur.
MODE Bir sistem aygıtını yapılandırır.
MORE Çıktıyı bir defada ekranda görüntüler.
MOVE Bir ya da birden çok dosyayı bir dizinden diğerine taşır.
PATH Çalıştırılabilir dosyalar için bir arama yolu görüntüler ya da
ayarlar.
PAUSE Bir toplu iş dosyasının işlemesini askıya alıp ileti görüntüler.
POPD Geçerli dizinin PUSHD tarafından kaydedilen eski değerini geri yükler.
PRINT Bir metin dosyasını yazdırır.
PROMPT Windows komut istemini değiştirir.
PUSHD Geçerli dizini kaydedip değiştirir.
RD Dizin kaldırır.
RECOVER Bozuk ya da hasarlı bir diskten okunabilir bilgiyi kurtarır.
REM Toplu iş dosyalarındaki ya da CONFIG.SYS açıklamalarını (yorum) okur.
REN Dosyaları yeniden adlandırır.
RENAME Dosyaları yeniden adlandırır.
REPLACE Dosyaları yenisiyle değiştirir.
RMDIR Dizini kaldırır.
SET Windows çevre değişkenlerini görüntüler, ayarlar ya da kaldırır.
SETLOCAL Toplu iş dosyasındaki çevre değişikliklerinin yerelleştirmesine
başlar.
SHIFT Toplu iş dosyasındaki değiştirilebilir parametre konumunu değiştirir.
SORT Girdiyi sıralar.
START Belirli program ya da komutu çalıştırmak için ayrı bir pencere açar.
SUBST Bir yolu bir sürücü harfiyle ilişkilendirir.
TIME Sistem saatini görüntüler ya da ayarlar.
TITLE CMD.EXE oturumu için pencere başlığını belirler.
TREE Bir sürücü ya da yolun resimsel dizin yapısını görüntüler.
TYPE Bir metin dosyasının içeriğini görüntüler.
VER Windows sürümünü görüntüler.
VERIFY Windows'a, dosyalarınızın diske doğru yazıldığını doğrulayıp
doğrulamamasını bildirir.
VOL Disk birim etiketi ve seri numarasını görüntüler.
(Eğer sistem izin vermesse vol accept yazın.)
XCOPY Dosya ve dizin ağaçlarını kopyalar.
ACCEPT (Sistem İzin vermesse yazın.)



  Alıntı
Bu mesajı beğenenler:
#3
Teşekkürler Furkan..

Benim için çok faydalı bir konu oldu.. Lazım olduğunda bölük pörçük başka yerlerden araştırıyordum; şimdi bu konu bana referans olacak..



  Alıntı
Bu mesajı beğenenler:
#4
Yorumunuz için teşekkürler..

Başka kaynaklardan bulacağım bilgileri de yine burada paylaşmayı düşünüyorum.



  Alıntı
Bu mesajı beğenenler:
#5
Herkese iyi forumlar

Arkadaşlar ben bi bat oluşturmak istiyorum. Bilgisayara takılı olan mikrofon sesini kapatan ve açan iki tane bat dosyası yapmak istiyorum. Nasıl oluşturabilirim ???

en kısa sürede yanıtlarınızı bekliyorum

b.yuce@yandex.com



  Alıntı
Bu mesajı beğenenler:


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar):