Tidak ada alasan bagus untuk melakukan ini. Bahkan, satu-satunya efek nyata yang terjadi adalah memperlambat segalanya.
Orang mungkin berpikir ada alasan bagus untuk melakukan ini. Menggunakan CMD memiliki efek berikut yang biasanya baik dalam beberapa kasus:
- Mengaktifkan perintah internal, seperti "
DIR
"
- Setel variabel lingkungan, seperti variabel PATH
Namun, dalam hal ini, tak satu pun dari manfaat itu diperoleh. Mari kita lihat kedua skenario ini:
Jadi, dalam beberapa kasus, ada saatnya menggunakan " CMD /C
" berguna. Misalnya, jika saya menggunakan perintah eksternal PSEXEC
(diunduh dari SysInternals), dan mencoba menjalankan " DIR
" di komputer jarak jauh, maka Windows akan mencoba menjalankan perintah " DIR
". Windows akan gagal menjalankan perintah itu karena tidak ada file " DIR.EXE
", " DIR.BAT
", atau " DIR
" yang diakhiri dengan ekstensi lain yang didukung. (Ekstensi yang didukung dapat dilihat dengan menjalankan " ECHO %PATHEXT%
".)
Namun, dalam skenario ini, jika saya mencoba menjalankan " CMD /C DIR
", maka itu akan berhasil, karena Windows akan mencari yang dapat dieksekusi bernama " CMD
", dan akan menemukan itu, dan kemudian CMD
akan berhasil menjalankan perintah " DIR
" yang merupakan internal bagian dari perintah " CMD
".
Dalam hal ini, Anda bisa menjalankannya powershell
semudah " CMD /C powershell
", jadi Anda tidak mendapat manfaat dari yang " CMD /C
" tidak perlu . Satu-satunya keuntungan yang saya lihat melalui langkah ekstra mengetik " CMD /C
" adalah memberikan contoh yang akan berguna jika seseorang memutuskan untuk mencoba memodifikasi contoh untuk menjalankan baris perintah " DIR
" atau " COPY
". Memiliki contoh yang lebih fleksibel mungkin bermanfaat bagi sebagian orang. Ini benar-benar tidak diperlukan ketika orang tahu apa yang mereka lakukan.
Adapun poin kedua yang saya berikan, yaitu untuk mengatur variabel lingkungan, itu juga sesuatu yang tidak Anda lakukan secara aktif dalam kasus khusus ini. Mungkin beberapa orang berpikir bahwa mereka membantu masalah dengan menyebabkan variabel lingkungan PATH ditetapkan. Namun, ketika Anda menjalankan perintah secara langsung (misalnya, dari opsi menu "Run" pada menu Start), sistem operasi Windows dapat mencari perintah di beberapa tempat tambahan. Misalnya, di Windows XP / yang lebih baru Anda dapat menjalankan:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
Jika perintah yang ingin Anda jalankan tercantum di bawah "App Paths", Windows dapat menemukan program tersebut meskipun tidak ada di jalurnya. Jadi, Windows kemungkinan akan menemukan LEBIH BANYAK dari pada apa yang CMD temukan di PATH yang digunakan CMD.
Salah satu manfaat yang mungkin adalah jika Anda ingin CMD dijalankan sehingga Anda dapat merujuk ke variabel lingkungan seperti% USERPROFILE% atau% LOGONSERVER% atau% TEMP% /% TMP%, tetapi karena Anda tidak melakukan itu, Anda tidak perlu dijalankan " CMD /C
".
Jadi, untuk kasus khusus Anda: Tidak ada alasan bagus untuk melakukannya. Efek yang Anda raih adalah membuat komputer Anda melakukan lebih banyak pekerjaan, memperlambat proses, dan menggunakan lebih banyak memori (yang semuanya Anda lakukan dengan jumlah yang dapat diabaikan pada peralatan modern).
cmd /c
...cmd /k
agak berbeda karena membiarkan jendela terbuka setelah perintah selesai. Agaknya penanya melakukannya seperti itu sehingga mereka bisa melihat output untuk keperluan debugging.