Làm cách nào để tắt tự động đóng dấu nhắc lệnh khi hoàn thành?


18

Tôi biết có một số thủ thuật với các phiên bản Windows cũ hơn để thực hiện điều này, nhưng không chắc chắn trên windows 7.

Nếu tôi có một phần mềm thực thi lệnh với các công tắc dẫn đến việc mở và đóng cửa sổ cmd.exe một cách nhanh chóng, làm thế nào tôi có thể cấu hình lại dấu nhắc lệnh để KHÔNG tự động đóng khi tác vụ hoàn tất.

Thủ thuật ở đây là lệnh đang được thực thi thực sự là một tệp bó, bao gồm câu lệnh tạm dừng ở cuối, nhưng cách phần mềm đang cố thực thi lệnh bị lỗi. Vì nó đóng rất nhanh, chúng tôi không biết lỗi nào đang được trả về vì nó đóng quá nhanh.


Câu hỏi hay, lặng lẽ tôi cũng ước mình biết điều này vì đôi khi các bản vá trò chơi / phần mềm xuất hiện trong các tệp .BAT đóng sau khi các lệnh được thực thi mà không tạm dừng và hiển thị các lệnh đã thực thi cho người dùng cuối.
Boris_yo

1
Tại sao không mở một cửa sổ lệnh, cd vào thư mục đó và chạy lô từ đó? Điều đó sẽ chạy trong cùng một cửa sổ cmd không đóng mà vẫn mở khi lô kết thúc. Điều đó có thể cung cấp cho bạn một số manh mối để giúp gỡ lỗi nó.
JDH


Cảm ơn slhck, bạn chỉ cho tôi đến vị trí đó có vẻ như khả năng gần nhất để đạt được những gì tôi muốn nằm trong sổ đăng ký cho batfile / cmdfile.
Thần thoại

Câu trả lời:


8

Thay vì chạy .battệp đó trực tiếp từ Explorer hoặc bất kỳ phương pháp nào bạn sử dụng, hãy khởi chạy thủ công cmd.exe(nếu cần với các đặc quyền nâng cao) và sau đó chạy .battệp của bạn từ đó. Sau khi hoàn thành việc thực thi, bạn vẫn sẽ thấy tất cả đầu ra ... giống như trong những ngày DOS cũ. :)


Nhấn bắt đầu và gõ cmdvà nhấn enter, bạn sẽ khởi chạy một dấu nhắc lệnh. Chỉ cần kéo và thả những gì bạn cần để chạy (tập lệnh python hoặc .exe) của bạn vào các cửa sổ cmd và nhấn enter.
JinSnow

6

Trong tệp .bat của bạn, sử dụng pauselệnh. Nó sẽ ngăn tập tin .bat của bạn đóng lại.

Ví dụ: đây là tệp bat của tôi mà tôi sử dụng để bắt đầu dịch vụ MySQL trên PC của mình:

net start MySQL
pause

Lưu ý: Trên Windows 7, tôi khởi động tệp .bat này từ tên của Quản trị viên. Để thực hiện việc này, nhấp vào nút chuột phải trên tệp .bat của bạn và chọn "Bắt đầu từ tên của quản trị viên" từ menu thả xuống.



1

Trong tập lệnh .bat, bạn để lại "lối ra" ở cuối tập lệnh để mở cửa sổ lệnh.

Một cửa sổ lệnh được mở bởi một tập lệnh luôn tự đóng ở cuối tập lệnh vì nó phụ thuộc vào tập lệnh. Tự mở cửa sổ và chạy tập lệnh không đóng cửa sổ trừ khi bạn chỉ định lệnh "thoát" ở cuối tập lệnh vì cửa sổ không phụ thuộc vào tập lệnh.

Dường như không có cách nào để ngăn cửa sổ phụ thuộc vào tập lệnh bị đóng khi tập lệnh kết thúc trong Windows 7. Tuy nhiên, có thể các thông báo lỗi sẽ được ghi lại ở nơi khác. Chương trình có tệp nhật ký không? Hoặc có các mục trong nhật ký Windows?


0
pause>nul

cái này nên hoạt động


2
Xin vui lòng đọc lại câu hỏi một cách cẩn thận. Câu trả lời của bạn không trả lời câu hỏi ban đầu. "Thủ thuật ở đây là lệnh đang được thực thi thực sự là một tệp bó, bao gồm một câu lệnh tạm dừng ở cuối " ,
DavidPostill

0

Nhấn startvà gõ cmdvà nhấn enter, bạn sẽ khởi chạy một dấu nhắc lệnh. Chỉ cần kéo và thả những gì bạn cần để chạy (tập lệnh python của bạn, .exe ...) vào các cửa sổ cmd và nhấn enter. (Nếu bạn cần chạy cmd với tư cách quản trị viên, hãy tìm cmd trong menu bắt đầu, nhấp chuột phải vào nó, chọn run as admin) (Hoạt động trên windows 7)


Xin vui lòng không gửi cùng một câu trả lời cho nhiều câu hỏi. Nếu cùng một thông tin thực sự trả lời cả hai câu hỏi, thì một câu hỏi (thường là câu hỏi mới hơn) nên được đóng lại như một bản sao của câu hỏi khác. Bạn có thể chỉ ra điều này bằng cách bỏ phiếu để đóng nó dưới dạng trùng lặp hoặc, nếu bạn không đủ danh tiếng cho điều đó, hãy giơ cờ để cho biết đó là bản sao. Mặt khác, điều chỉnh câu trả lời của bạn cho câu hỏi này và không chỉ dán cùng một câu trả lời ở nhiều nơi.
DavidPostill

0

Tôi đã gặp vấn đề này một thời gian và cuối cùng tôi đã nhận ra những gì đang xảy ra.

Khi bạn bắt đầu một tác vụ với trình lập lịch tác vụ và đó là tệp dơi, nó sẽ mở cửa sổ cmd đến C: \ WINDOWS \ system32 và KHÔNG đặt tệp dơi ở đâu. Tại sao? Tôi không có đầu mối! Vì vậy, những gì tôi phải làm là thêm thư mục với cd vào tập tin bat.

Ví dụ dưới đây:

cd c: \ blahblahblah

startmyprogram.exe


Câu trả lời của bạn tạo ra nhiều nhầm lẫn và bạn không thể thiết lập lý do đằng sau vấn đề OP gặp phải. Tốt hơn bạn nên giới thiệu liên kết này superuser.com/help/how-to-answer , sẽ giúp bạn trong khi trả lời.
Rajesh S
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.