EXE Dosyası ile CMD Komut Satırını Nasıl Açılır?

Windows işletim sisteminde CMD, komut tabanlı görevlerin yürütülmesini sağlar. EXE dosyaları ise doğrudan çalıştırılabilen programlardır. Bazı uygulamalarda, EXE dosyası çalıştırıldığında CMD’nin otomatik olarak açılması gerekebilir. Bu işlem genellikle sistem yönetimi, yazılım kurulumu ve otomasyon süreçlerinde kullanılır.

CMD’nin EXE Dosyası Üzerinden Başlatılma Prensibi

Bir EXE dosyası çalıştırıldığında Windows’ta yeni bir işlem oluşturulur. CMD de bir EXE dosyasıdır ve C:\Windows\System32\cmd.exe dizininde bulunur. Bu yürütülebilir dosya, komutları işleyip sonuçları kullanıcıya iletir. EXE üzerinden CMD çalıştırmak, bu programı belirli parametrelerle çağırmak anlamına gelir. /c parametresi işlemi tamamladıktan sonra pencereyi kapatır, /k parametresi ise komutu çalıştırdıktan sonra pencerenin açık kalmasını sağlar.

Komut İpuçları

  • 🔶Her .exe dosyası aslında Windows’ta bir process oluşturur.
  • 🔶CMD de bir .exe dosyasıdır (C:\Windows\System32\cmd.exe).
  • 🔶EXE içinden CMD çalıştırmak, yeni bir işlem başlatmak anlamına gelir.

Kavramlar ise şöyledir,

▪️CreateProcess() API

▪️ShellExecute()

▪️system() fonksiyonu (C/C++ için)

▪️/c ve /k parametre farkı

C/C++ Üzerinden CMD Açma Yöntemi

C ve C++ programlarında komut satırını başlatmak için system fonksiyonu kullanılabilir. Bu komut, işletim sistemine bir görev göndererek CMD’yi başlatır.

#include <stdlib.h>
int main() {
    system("cmd.exe /k echo CMD baslatildi");
    return 0;
}

Program çalıştırıldığında CMD penceresi açılır ve ekrana “CMD baslatildi” mesajı yazılır. “/k” parametresi, pencerenin açık kalmasını sağlar.

C# ile CMD Çalıştırma

C# dilinde CMD’yi başlatmak mümkündür. Process.Start() komutu, Windows üzerinde yeni bir işlem oluşturur.

using System.Diagnostics;
Process.Start("cmd.exe", "/c dir");

Bu kod, komut satırını açar ve geçerli dizindeki dosyaları listeler. “/c” parametresi, komut tamamlandıktan sonra pencerenin kapanmasını sağlar.

Arka Planda CMD Çalıştırma

Bazı durumlarda komut penceresinin ekranda görünmemesi istenir. Bu yöntem genellikle otomatik görevlerde tercih edilir. C# ile bunu yapmak için yalnızca birkaç ayar yeterlidir.

ProcessStartInfo info = new ProcessStartInfo("cmd.exe", "/c ipconfig") {
    CreateNoWindow = true,
    UseShellExecute = false
};
Process.Start(info);

Bu şekilde komut satırı arka planda sessizce çalışır. Kullanıcı ekranda hiçbir pencere görmez ancak işlem sorunsuz biçimde tamamlanır.

CMD Aracılığıyla EXE Dosyası Nasıl Çalıştırılır?

EXE dosyasını CMD üzerinden çalıştırmak oldukça kolaydır.

CMD’yi açalım

Win + R tuşlarına aynı anda basalım. Açılan “Çalıştır” penceresine cmd yaz ve Enter’a basalım.
Böylece Komut İstemi açılmış olur.

Dosya yolunu kopyalayalım

Dosya Gezgini’ni açalım ve çalıştırmak istediğimiz .exe dosyasını bulalım. Üstteki adres çubuğuna tıklayıp kopyalayalım.

C:\Kullanıcılar\Tuğba\Masaüstü\Programım

CMD içinde klasöre geçelim

Komut satırına cd yaz ve ardından boşluk bırakalım. Kopyaladığın dosya yolunu yapıştıralım ve Enter’a basalım. Artık CMD, programın bulunduğu klasörde çalışır.

cd C:\Kullanıcılar\Tuğba\Masaüstü\Programım

EXE dosyasını çalıştıralım

Programı başlatmak için şu komutu yazalım.

start file_name.exe
start chrome.exe

İstersen .exe uzantısını yazmadan sadece start chrome da diyebilirsin.
Komut çalıştırıldığında program hemen açılacaktır.

PowerShell ve Batch Dosyalarını EXE’ye Dönüştürme

Windows sistemlerinde .bat veya .ps1 uzantılı dosyalar, EXE formatına çevrilerek doğrudan çalıştırılabilir. Bu sayede CMD, dosya başlatıldığında otomatik olarak açılır. Bu işlem için “Bat To Exe Converter” veya “ps2exe” araçları kullanılabilir. CMD’yi çalıştırmak için ayrıca sistem düzeyinde CreateProcess fonksiyonundan yararlanılabilir.

STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
CreateProcess("C:\\Windows\\System32\\cmd.exe", "/c dir", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);

Aynı mantık Python ile de uygulanabilir.

import subprocess
subprocess.run("cmd.exe /c dir", shell=True)

Bu yöntemler, farklı programlama dillerinde komut satırı işlemlerinin yönetilmesini sağlar. Ek bilgi için Python Kurulumu rehberine göz atabilirsiniz.

Bazı komutlar yönetici izni olmadan çalışmaz. Bu durumda programın yönetici olarak başlatılması gerekir. Komut satırını yönetici hesabıyla açmak için “runas” komutu kullanılabilir.

Bu komut, CMD’yi yönetici haklarıyla açar ve kullanıcı listesini gösterir. Eğer program sürekli yönetici izniyle çalışacaksa, dosyanın özelliklerinden “Yönetici olarak çalıştır” seçeneği aktif edilebilir.

Yorum yapın