Không có lý do chính đáng để làm điều này. Trong thực tế, tác dụng thực sự duy nhất xảy ra là làm mọi thứ chậm lại.
Mọi người có thể nghĩ rằng có một lý do tốt để làm điều này. Sử dụng CMD có các hiệu ứng sau đây thường có thể tốt trong một số trường hợp:
- Cho phép các lệnh nội bộ, như "
DIR
"
- Đặt các biến môi trường, chẳng hạn như biến PATH
Tuy nhiên, trong trường hợp này, cả hai lợi ích đó đều không đạt được. Hãy xem xét cả hai tình huống sau:
Vì vậy, trong một số trường hợp, có thể có một thời gian khi sử dụng " CMD /C
" là hữu ích. Ví dụ: nếu tôi sử dụng lệnh bên ngoài PSEXEC
(được tải xuống từ SysIternals) và thử chạy " DIR
" trên máy tính từ xa, thì Windows sẽ thử chạy DIR
lệnh "". Windows sẽ không chạy lệnh đó vì không có tệp " DIR.EXE
", " DIR.BAT
" hoặc " DIR
" kết thúc bằng một phần mở rộng được hỗ trợ khác. (Có thể xem các tiện ích mở rộng được hỗ trợ bằng cách chạy " ECHO %PATHEXT%
".)
Tuy nhiên, trong trường hợp này, nếu tôi cố chạy " CMD /C DIR
", thì nó sẽ hoạt động, bởi vì Windows sẽ tìm kiếm một tệp thực thi có tên " CMD
" và sẽ tìm thấy nó, và sau đó CMD
sẽ chạy thành công DIR
lệnh "" là một nội bộ một phần của CMD
lệnh "".
Trong trường hợp này, bạn chỉ có thể chạy powershell
dễ dàng như " CMD /C powershell
", do đó bạn không nhận được lợi ích gì từ "" không cần thiết CMD /C
. Lợi ích duy nhất tôi thấy là trải qua bước thêm " CMD /C
" là cung cấp một ví dụ sẽ hữu ích nếu ai đó quyết định thử sửa đổi một ví dụ để chạy dòng lệnh " DIR
" hoặc " COPY
". Có một ví dụ linh hoạt hơn có thể hữu ích cho một số người. Nó thực sự không cần thiết khi mọi người biết họ đang làm gì.
Đối với điểm đạn thứ hai tôi cung cấp, đó là đặt các biến môi trường, đó cũng là điều mà bạn không chủ động thực hiện trong trường hợp cụ thể này. Có thể một số người nghĩ rằng họ đang giúp đỡ các vấn đề bằng cách làm cho biến môi trường PATH được đặt. Tuy nhiên, khi bạn chạy các lệnh trực tiếp (ví dụ: từ tùy chọn menu "Chạy" của menu Bắt đầu), hệ điều hành Windows có thể tìm kiếm các lệnh ở một số vị trí bổ sung. Chẳng hạn, trong Windows XP / mới hơn, bạn có thể chạy:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"
Nếu lệnh bạn muốn chạy được liệt kê trong "Đường dẫn ứng dụng", Windows có thể tìm thấy chương trình ngay cả khi nó không nằm trong đường dẫn. Vì vậy, Windows có khả năng tìm thấy nhiều hơn cả những gì mà CMD sẽ tìm thấy trong PATH mà CMD sử dụng.
Một lợi ích có thể là nếu bạn muốn chạy CMD để bạn có thể tham khảo biến môi trường như% USERPROFILE% hoặc% LOGONSERVER% hoặc% TEMP% /% TMP%, nhưng vì bạn không làm vậy, nên bạn không làm vậy cần chạy " CMD /C
".
Vì vậy, đối với trường hợp cụ thể của bạn: Không có lý do chính đáng để làm điều đó. Những hiệu ứng bạn đang đạt được là khiến máy tính của bạn làm được nhiều việc hơn, làm chậm quá trình và sử dụng nhiều bộ nhớ hơn (tất cả những gì bạn đang làm với số lượng không đáng kể trên thiết bị hiện đại).
cmd /c
...cmd /k
khá khác biệt ở chỗ nó để cửa sổ mở sau khi lệnh hoàn thành. Có lẽ người hỏi đã làm theo cách đó để họ có thể thấy đầu ra cho mục đích gỡ lỗi.