Dòng lệnh Windows: 'không được công nhận là lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó.'


10

Khi tôi chạy cmd trong Windows 7 (bằng cách nhập 'cmd'vào Windows Run), lỗi sau sẽ hiển thị:

nhập mô tả hình ảnh ở đây

'-p' không được nhận dạng như một lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó.

Tôi đã thử kiểm tra PATH trong các biến môi trường. Chạy echo %PATH%cho tôi những điều sau đây:

C: \ Windows \ System32; C: \ Windows; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0; C: \ xampp \ php;

Tôi đã kiểm tra tất cả các thư mục được chỉ ra bởi PATH. Mọi thứ dường như được đặt ra. Điều tôi không thể hiểu là nơi '-p'đang được gọi. Tôi nghĩ rằng nó có một cái gì đó để làm cmdvì nó chỉ phát ra khi tôi gọi cmdchứ không phải khi tôi chạy ipconfighoặc ping, ví dụ.


Làm thế nào để bạn chạy 'cmd'? Bạn có thực hiện một phím tắt hoặc gõ 'cmd' trong hộp tìm kiếm không?
Simon

@Simon, tôi chạy nó bằng Windows Run. Tôi cập nhật câu hỏi.
nmenego 26/03/13

kiểm tra từng thư mục được liệt kê ở đó trong PATH của bạn, để biết cmd. * - có lẽ điều đó sẽ cung cấp manh mối
StevenV

Anh chàng này: stackoverflow.com/questions/10077689/ Có một khoảng trống trước một; trong câu lệnh path.
edelwater

@edelwater Trường hợp hơi khác nhau ở đó; anh chàng đó đã cố gắng để chạy một chương trình được gọi là R, mà lẽ ra phải theo con đường của anh ta nhưng không phải, do sai lầm đó. Trường hợp này là của chính bộ xử lý lệnh ( cmd) gây ra lỗi khi bắt đầu - và khởi động đã thành công. Tuy nhiên, vấn đề gây ra nó có thể giống nhau; Tôi sẽ không giảm giá ...
Bob

Câu trả lời:


12

Có thể bạn đã đặt lệnh 'AutoRun' trong sổ đăng ký. Có hai khóa đăng ký, một cho mỗi người dùng và một cho mỗi máy tính, có thể xác định các lệnh được chạy mỗi khi bộ xử lý lệnh ( cmd.exe) được khởi động. Họ thực sự được liệt kê trong cmd /?.

Dù sao, hãy thử chạy cmd /dvà xem nếu điều đó tạo ra cùng một thông điệp. Các /dphương tiện cờ "không chạy lệnh AutoRun", mà làm cho nó hoàn hảo để thử nghiệm này.

Các giá trị đăng ký là:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Kiểm tra cả hai. Theo mặc định, không nên tồn tại. Bạn có thể muốn sửa các chuỗi lệnh trong của bạn hoặc thậm chí xóa chúng hoàn toàn.

Liên quan: http://bloss.msdn.com/b/oldnewthing/archive/2007/11/21/6447771.aspx


Ngoài ra, bạn có thể có một tập lệnh bó hoặc tương tự được thiết lập với tên cmd, được thực thi thay vì bản địa cmd. Hãy thử lệnh where cmdđể in ra một danh sách các cmds trong đường dẫn của bạn, theo thứ tự thực hiện. Nếu có bất kỳ cái nào khác ngoài / trước cái trong C:\Windows\System32\cmd.exe, bạn có thể muốn xóa chúng hoặc xóa đường dẫn của chúng khỏi biến môi trường PATH của bạn.


Tôi đã thử thực hiện cmd /dvà như mong đợi, vấn đề đã biến mất. Sau đó tôi đã kiểm tra sổ đăng ký và tôi tìm thấy HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRunmột số chuỗi lệnh liên quan đến ANSICON. Tôi đã không thể xóa nó lần cuối cùng tôi đã xóa nó. Tôi chỉ đơn giản là loại bỏ chìa khóa! Đây là một câu trả lời tuyệt vời!
nmenego 26/03/13
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.