2012-11-29 18 views
91

Tôi đang đối mặt với một vấn đề lạ. Tôi đã lên kế hoạch một nhiệm vụ để lau một tập tin thực thi. Khi tôi chạy tác vụ với tùy chọn Run only when user is logged on mọi thứ hoạt động tốt. nhưng tôi muốn chạy tác vụ này ở chế độ nền và do đó tôi đang chạy nó bằng cách sử dụng tùy chọn Run whether user is logged on or not. Bây giờ khi tôi chạy nhiệm vụ nó không hoạt động. Tôi nhận được sau 2 lỗi. Tôi không hiểu lỗi này. Xin hãy giúp tôi giải quyết vấn đề này.lý do tại sao Windows 7 nhiệm vụ lên lịch nhiệm vụ không thành công với lỗi 2147942667

Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667. 
Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667. 
+27

Chuyển mã lỗi thành hex để lấy 0x8007010B. The 7 làm cho nó một lỗi Windows. Mà làm cho mã lỗi 010B 267. "Tên thư mục không hợp lệ". Chắc chắn, điều đó xảy ra. –

+1

@ HansPassant, điều đó thật tuyệt vời. Chuyển đổi sang hex, sử dụng bốn byte cuối cùng để tìm kiếm mã lỗi. Hy vọng tôi có thể nhớ điều đó! –

+0

FWIW Tôi thấy giao diện người dùng Task Scheduler chính có nhiệm vụ với cột 'Kết quả chạy cuối cùng' hoặc cột tương tự, hiển thị thông báo lỗi 'Tên thư mục không hợp lệ' có thể đọc được. Việc sửa lỗi trong tình huống của chúng tôi là câu trả lời từ jp2code bên dưới về việc xóa dấu ngoặc kép khỏi thư mục Bắt đầu trong, vì tôi đã sao chép nó từ Lệnh được trích dẫn để chạy. – Neek

Trả lời

178

Tôi gặp vấn đề tương tự.

Các giải pháp đối với tôi là tìm thấy trong Microsoft KB Điều 2.452.723:

Windows Vista onwards scheduled tasks fail to run if the path in "Start in (Optional)" field has quotes

Về cơ bản, chỉnh sửa nhiệm vụ theo lịch trình của bạn và lấy Quotes ra khỏi Start Trong lĩnh vực:

  1. Mở Công việc theo lịch của bạn
  2. Chuyển sang tab "Hành động"
  3. Mở hành động
  4. của bạn
  5. Di ngoặc kép (") từ lĩnh vực "Start in (không bắt buộc)"
  6. Lưu và đóng tất cả các hộp thoại mở

enter image description here

+4

sự cố có liên quan đến việc cho phép sử dụng. Khi chạy bằng cách sử dụng tùy chọn 'Chạy cho dù người dùng đăng nhập hay không', tôi đã sử dụng một người dùng khác để chạy ứng dụng. Người dùng mới này không có quyền thích hợp để đọc dữ liệu và do đó có lỗi. Cảm ơn. – Alok

+1

Nó cũng không phải là "cho phép" cho tôi. Đó là thư mục ** Start in **. Nếu nó có '" C: \ Some Path \ "', đó là sai bởi vì nó có dấu ngoặc kép. Nó cần phải nói 'C: \ Some Path \' (không có dấu ngoặc kép). – jp2code

+10

Đây là giải pháp. Xóa dấu ngoặc kép khỏi hộp văn bản ** Bắt đầu trong thư mục **. Khá một sửa chữa bí truyền. Đã lãng phí thời gian này - mong muốn Microsoft đã làm cho nó dễ dàng hơn với các lỗi hữu ích hoặc sửa lỗi này rõ ràng. – Dan

2

Đối với một câu trả lời chung chung hơn, chuyển đổi các giá trị lỗi để hex, sau đó tra cứu giá trị hex tại Windows Task Scheduler Error and Success Constants

+3

Xin chào Mike. Tôi đã sử dụng Windows Calculator ở chế độ Programmer để chuyển đổi '2147942667' thành HEX:' 0x8007010B'. Giá trị đó không xuất hiện trong liên kết bạn đã cung cấp. Chỉ là FYI, tất nhiên rồi. – jp2code

+3

Tôi chỉ cần google: '2147942667 in hex'. Một máy tính của Google bây giờ cũng vậy. – Baodad

5

Điều này có thể xảy ra vì nhiều lý do. Trong trường hợp của tôi, điều này xảy ra do sự cố về quyền. Người dùng rằng tác vụ đang chạy vì không có quyền ghi vào thư mục nhật ký để nó không thành công với lỗi này.

3

Tôi gặp sự cố tương tự, trên Windows7.

Tôi đã gặp lỗi 2147942667 và báo cáo không thể chạy c: \ windows \ system32 \ CMD.EXE. Tôi đã cố gắng với và không có dấu ngoặc kép trong Script và Start-in và nó không có sự khác biệt. Sau đó, tôi đã thử thay thế tất cả các tham chiếu đường dẫn đến các ổ đĩa mạng được ánh xạ và với các tham chiếu UNC (\ Server1 \ Sharexx \ my_scripts \ run_this.cmd) và nó đã sửa nó cho tôi. Pat.

+0

Điều này cuối cùng đã làm điều đó cho tôi là tốt. Tôi đã phải sử dụng "Net sử dụng" để có được tên máy chủ và sau đó ping để có được tên miền. Cuối cùng nó là \\ machine.domain.local \ app.exe. \\ Machine \ app.exe không hoạt động – greg

+0

Đã làm cho tôi quá. Cảm ơn! – Jace

2

Đối với tôi đó là "Bắt đầu" - tôi đã sao chép các giá trị từ máy chủ cũ hơn và cập nhật đường dẫn đến vị trí exe mới, nhưng tôi quên cập nhật vị trí "bắt đầu" - nếu nó không tồn tại, bạn nhận được lỗi này quá

Trích dẫn @ bình luận hans-passant 's từ trên cao, vì nó rất có giá trị để debgging vấn đề này:

Chuyển đổi mã lỗi để hex để có được 0x8007010B. 7 làm cho nó một lỗi cửa sổ . Mà làm cho mã lỗi 010B 267. "Tên thư mục là không hợp lệ". Chắc chắn, điều đó xảy ra.