Bunu yapmak için iyi bir sebep yok. Aslında, gerçekleşen tek gerçek etki, işleri yavaşlatmaktır.
İnsanlar bunu yapmak için iyi bir neden olduğunu düşünebilirler. CMD'nin kullanılması, bazı durumlarda yaygın olarak iyi olabilecek şu etkilere sahiptir:
- "
DIR
" Gibi iç komutları etkinleştirir
- PATH değişkeni gibi ortam değişkenlerini ayarlar
Ancak, bu durumda, bu avantajlardan hiçbiri kazanılmaz. Her iki senaryoya da bakalım:
Bu nedenle, bazı durumlarda, " CMD /C
" kullanımının yararlı olduğu bir zaman olabilir. Örneğin, harici komutu kullanırsam PSEXEC
(SysInternals'dan indirilir) ve DIR
uzaktaki bir bilgisayarda " DIR
" çalıştırmayı denerseniz, Windows " " komutunu çalıştırmayı deneyecektir . Desteklenen başka bir uzantıyla biten bir " DIR.EXE
", " DIR.BAT
" veya " DIR
" dosyası olmadığından, Windows bu komutu çalıştırmada başarısız olur . (Desteklenen uzantılar " ECHO %PATHEXT%
" çalıştırılarak görülebilir .)
Ancak, bu senaryoda, " CMD /C DIR
" çalıştırmayı denersem, o zaman işe yarayacak, çünkü Windows " CMD
" adında bir çalıştırılabilir program arayacak ve bunu bulacak ve daha sonra dahili bir CMD
" DIR
" komutunu başarıyla çalıştıracak " CMD
" komutunun bir parçası .
Bu durumda, powershell
" CMD /C powershell
" kadar kolay bir şekilde koşabilirsiniz , böylece gereksizden " CMD /C
" hiçbir fayda elde edemezsiniz . " CMD /C
" Yazmanın fazladan bir adımından geçmekte olduğumun tek yararı , birisinin " DIR
" veya " COPY
" komut satırı çalıştırmak için bir örnek değiştirmeyi denemeye karar vermesi durumunda yararlı olacak bir örnek sağlamaktır . Daha esnek bir örneğe sahip olmak bazı insanlar için faydalı olabilir. İnsanlar ne yaptıklarını bildiklerinde buna gerek yok.
Sağladığım ikinci madde işaretine gelince, ortam değişkenlerini belirlemek için, bu da bu durumda aktif olarak yapmadığınız bir şey. Belki bazı insanlar PATH ortam değişkeninin ayarlanmasına neden olarak bu konulara yardımcı olduklarını düşünüyorlar. Bununla birlikte, komutları doğrudan çalıştırdığınızda (örneğin, Başlat menüsünün "Çalıştır" menü seçeneğinden), Windows işletim sistemi bazı ek yerlerde komutları arayabilir. Örneğin, Windows XP / daha yenisinde çalıştırabilirsiniz:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
Çalıştırmak istediğiniz komut "Uygulama Yolları" altında listeleniyorsa, Windows programı yolda olmasa da bulabilir. Bu nedenle, Windows, CMD'nin kullandığı PATH'te CMD'nin bulabileceğinden çok DAHA FAZLA buluyor olabilir.
Bunun olası bir yararı, CMD'nin çalıştırılmasını istemeniz ve böylece% USERPROFILE% veya% LOGONSERVER% veya% TEMP% /% TMP% gibi bir ortam değişkenine başvurabilmenizdir, ancak bunu yapmadığınız için " CMD /C
" çalıştırmak gerekiyordu .
Yani, sizin özel durumunuz için: Bunu yapmak için iyi bir neden yok. Elde ettiğiniz etkiler, bilgisayarınızın daha fazla çalışmasını sağlamak, işlemi yavaşlatmak ve daha fazla bellek kullanmaktır (bunların hepsini modern ekipmanlarda ihmal edilebilir miktarlarda yapıyorsunuz).
cmd /c
... komut tamamlandıktan sonra pencereyi açık bıraktığı içincmd /k
oldukça farklıdır . Muhtemelen, asker böyle yaptı, böylece hata ayıklama amacıyla çıktıyı görebildiler.