Mesleğimle alakalı sorular görünce mutlu oluyorum. CMD ve Powershell son kullanıcı tarafından aynı işe yarıyor gibi görünse de ikisi aslında alakasız araçlar. Temel farkları:
-Powershell hem "batch command" hem "Powershell cmdlet", CMD sadece "batch command" çalıştırır.
-Powershellde yazılan "cmdlet"ler için "alias" yapılabilir, CMD'de "batch command"ler için "alias" yapılamaz.
-Powershell'de fonksiyon veya method yazabilirsiniz, CMD'de yazamazsınız.
-Powershell'in ürettiği çıktılar başka "cmdlet"ler tarafından kullanılabilr, CMD'nin ürettiği çıktılar başka bir "batch command" tarafından kullanılamaz.
-Powershell çıktısı bir objedir, CMD çıktısı "text"tir.
-Powershell eş zamanlı komut çalıştırabilir, CMD çalıştıramaz. Bir komut bitmeden diğeri başlamaz.
-Powershell'de "help" komutu ile tüm kütüphaneler hakkında bilgi alabilirsiniz, CMD'de "help" diye bir komut yoktur.
-Powershell'in ISE(Integrated Scripting Environment)'ı vardır, CMD'de sadece komut satırı vardır.
-Powershell'in .NET gibi kütüphanelerle entegrasyonu vardır, CMD'nin herhangi bir kütüphaneyle entegrasyonu yoktur.
-Powershell, WMI(Windows Management Instrument) ile doğrudan iletişim kurar, CMD'nin bunu yapması için harici plug-inlere ihtiyacı vardır.
-Powershell Microsoft ürünleri ile entegrasyona sahiptir, CMD'nin herhangi bir ürünle entegrasyonu yoktur.
-Powershell'in Linux desteği vardır, CMD Windows harici işletim sisteminde çalışmaz.
-Powershell aklınıza gelebilecek her türlü programı çalıştırır, CMD sadece konsol programlarını çalıştırır.