Khắc phục tác vụ theo lịch sẽ không chạy cho tệp .BAT


Nếu bạn có tệp .BAT và bạn đang cố gắng để chạy tự động bằng Trình lập lịch tác vụ trong Windows, có thể bạn đã gặp phải sự cố khi nó không chạy trừ khi bạn tự chạy tác vụ.

Tôi đã tạo một tệp lô để xóa tất cả mọi thứ bên trong một thư mục tạm thời bất cứ khi nào máy tính khởi động. Tôi đã tạo một tác vụ cơ bản trong Task Scheduler và hy vọng là tốt nhất. Thật không may, không có gì xảy ra khi máy tính của tôi khởi động. Sau nhiều lần dùng thử và lỗi, tôi đã tìm ra cách để chạy tập lệnh.

Trong bài viết này, tôi sẽ hướng dẫn bạn qua các cài đặt và quyền bạn cần điều chỉnh để có được tập tin batch của bạn chạy mà không cần sự can thiệp thủ công.

Bước 1: Kiểm tra quyền File / Folder

Bước đầu tiên để khắc phục sự cố này là đảm bảo rằng tài khoản bạn đang sử dụng để chạy tập lệnh trong Task Scheduler có quyền Full Control trên thư mục chứa tập lệnh, bản thân tập lệnh và bất kỳ thư mục / tệp nào mà tập lệnh chạm vào khi nó chạy.

Ví dụ: tôi đã tạo tập lệnh theo lô dưới đây:

set folder="C:\test"
cd /d %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

Tôi đã lưu tệp .BAT vào thư mục Tài liệu của mình. Đường dẫn là C: \ Users \ username \ Documents. Tôi đã truy cập vào tên người dùng C: \ Users \, nhấp chuột phải vào thư mục Tài liệuvà nhấp vào Thuộc tính. Sau đó, tôi nhấp vào tab Bảo mật.

Như bạn có thể thấy, tài khoản người dùng Aseem đã được thêm rõ ràng và được cấp quyền Kiểm soát hoàn toàn. Bây giờ bạn phải làm điều tương tự cho thư mục chứa tập lệnh và bản thân tập lệnh. Không chỉ giả định rằng nếu bạn cấp quyền cho thư mục chứa tập lệnh, bạn nên đi vì bạn không có quyền. Cuối cùng, đặt quyền trên bất kỳ tệp và thư mục nào tập lệnh sẽ tương tác.

Trong trường hợp của tôi, tôi phải đi đến C: \ test, nhấp chuột phải vào thư mục đó và thêm tài khoản người dùng của tôi ở đó với quyền Kiểm soát hoàn toàn. Thật khó chịu khi bạn phải làm điều này, nhưng đó là cách duy nhất để chạy tập lệnh.

Lưu ý: Tài khoản đang được sử dụng để chạy tập lệnh phải thuộc nhóm Quản trị viêncục bộ trên máy tính. Trong trường hợp của tôi, tài khoản Aseem là tài khoản quản trị viên và do đó là một phần của nhóm Quản trị viên cục bộ.

Bước 2: Kiểm tra Cài đặt Lập lịch Tác vụ

Bây giờ, hãy chuyển đến Trình lập lịch tác vụ và thay đổi cài đặt thích hợp ở đó. Mở Task Scheduler và tìm tác vụ của bạn trong phần Tác vụ đang hoạt động. Chúng nên được liệt kê theo thứ tự bảng chữ cái.

Nhấp đúp vào nó và nó sẽ tự mở nhiệm vụ trong cùng một cửa sổ. Để chỉnh sửa tác vụ, bạn sẽ phải nhấp chuột phải vào nó và chọn Thuộc tính.

Có một số tab và một vài điều cần phải kiểm tra và thay đổi ở đây. Thứ nhất, trên tab Chung, bạn cần kiểm tra tài khoản người dùng đang được sử dụng để chạy tác vụ. Trong trường hợp của tôi, đó là tài khoản Aseemmà tôi đã cấp quyền trước đó trên hệ thống tệp và là một phần của nhóm Quản trị viên trên máy tính.

Tiếp theo, bạn phải chọn tùy chọn Chạy xem người dùng có đăng nhập hay khôngvà chọn Windows Vista, Windows Máy chủ 2008trong hộp Định cấu hình cho.

Trên Tác vụtab, bạn phải chọn tập lệnh, nhấp vào Chỉnh sửarồi thêm vào đường dẫn đến thư mục chứa tập lệnh trong hộp e Bắt đầu (tùy chọn). Điều này có vẻ không cần thiết, nhưng không phải vậy. Trong trường hợp của tôi, tôi đặt C: \ Users \ Aseem \ Documents \vào hộp.

Bây giờ hãy nhấp vào OKđể lưu cài đặt. Khi bạn làm điều này, một hộp thoại có thể xuất hiện nơi bạn phải nhập mật khẩu cho tài khoản người dùng sẽ chạy tác vụ. Điều này sẽ đưa ra một yêu cầu khác. Bạn không thể sử dụng tài khoản không có mật khẩu. Tài khoản người dùng phải có mật khẩu để tác vụ chạy.

Cuối cùng, bạn nên chạy tác vụ thủ công một lần trong Task Scheduler để đảm bảo nó chạy. Nếu nó chạy tốt bằng tay sau khi bạn thay đổi tất cả các cài đặt, thì nó sẽ chạy khi được kích hoạt. Trong trường hợp của tôi, nó được cho là xảy ra khi khởi động và sau khi tôi thực hiện các thay đổi, mọi thứ đã hoạt động tốt.

Lưu ý rằng nếu tập lệnh của bạn là truy cập các máy tính khác nhau trong một miền khi chạy, bạn nên cố gắng sử dụng tài khoản quản trị viên tên miền để chạy tác vụ. Điều này sẽ đảm bảo tài khoản có đủ quyền truy cập vào các máy tính từ xa.

Một mục khác cần lưu ý là nếu tập lệnh của bạn truy cập tài nguyên trên mạng chia sẻ. Nếu tập lệnh của bạn đang sử dụng các chữ cái để truy cập vào mạng, tập lệnh đó có thể không chạy. Ví dụ: thay vì sử dụng F: \ data \, bạn nên sử dụng \\ machinename \ share_name \ data \trong tập lệnh. Nếu bạn vẫn không thể chạy tập lệnh của mình, hãy đăng nhận xét ở đây và tôi sẽ cố gắng trợ giúp. Hãy tận hưởng!

bài viết liên quan:


13.09.2017