Vấn đề của tôi là trong Windows, có các cửa sổ dòng lệnh đóng ngay sau khi thực thi. Để giải quyết điều này, tôi muốn hành vi mặc định là cửa sổ được giữ mở. Thông thường, hành vi này có thể tránh được với ba phương pháp xuất hiện trong đầu tôi:
- Đặt một
pause
dòng sau các chương trình hàng loạt để nhắc người dùng nhấn phím trước khi thoát - Chạy các tệp bó này hoặc các công cụ thao tác dòng lệnh khác (ngay cả khi bắt đầu dịch vụ, khởi động lại, v.v. có
net start xy
hoặc bất cứ thứ gì tương tự) trongcmd.exe
(Bắt đầu - Chạy - cmd.exe) - Chạy các chương trình
cmd /k
như thế này:cmd /k myprogram.bat
Nhưng có một số trường hợp khác trong đó người dùng:
- Chạy chương trình lần đầu tiên và không biết rằng chương trình đã cho sẽ chạy trong Dấu nhắc lệnh (Bộ xử lý lệnh Windows), ví dụ như khi chạy một phím tắt từ menu Bắt đầu (hoặc từ một nơi khác), HOẶC
- Tìm thấy một chút không thoải mái khi chạy cmd.exe mọi lúc và không có thời gian / cơ hội để viết lại mã của các lệnh này ở mọi nơi để tạm dừng sau chúng hoặc tránh thoát ra một cách rõ ràng.
Tôi đã đọc một bài viết về việc thay đổi hành vi mặc định cmd.exe
khi mở nó một cách rõ ràng, với việc tạo một mục AutoRun và thao tác nội dung của nó ở những vị trí này:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(Các mục AutoRun là _String values_
...)
Tôi đặt cmd /d /k
giá trị của nó để dùng thử, nhưng điều này không thay đổi hành vi của những thứ được đề cập ở trên ... Nó chỉ thay đổi hành vi của cửa sổ dòng lệnh khi mở một cách rõ ràng (Start-Run- cmd.exe).
Vì vậy, làm thế nào nó hoạt động? Bạn có thể cho tôi bất kỳ ý tưởng để giải quyết vấn đề này?
stdout
trên cơ sở liên tục mà không bao giờ được nhìn thấy vì một lý do chính đáng.