Sửa tác vụ đã lên lịch không chạy cho tệp .BAT

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

Tôi đã tạo một tệp hàng loạt xóa mọi thứ bên trong 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 điều 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 rất nhiều lần thử và sai, tôi đã tìm ra cách để chạy script.

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 để chạy tệp loạt của bạn mà không cần 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 Trình lập lịch tác vụ(Task Scheduler)toàn(Full Control) quyền Kiểm soát đối với thư mục chứa tập lệnh, chính 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 chạy.

Ví dụ: tôi đã tạo tập lệnh hàng loạt sau đâ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 C: \ Users \ tên người dùng, nhấp chuột phải vào thư mục Documents và nhấp vào Thuộc tính(Properties) . Sau đó, tôi nhấp vào tab Bảo mật .(Security)

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 toàn(Full Control) quyền kiểm soát. 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à cho chính tập lệnh. Đừng chỉ cho rằng nếu bạn cấp quyền cho thư mục chứa tập lệnh, bạn vẫn nên sử dụng, bởi vì bạn không làm như vậy. Cuối cùng, đặt quyền trên bất kỳ tệp và thư mục nào mà tập lệnh sẽ tương tác.

Trong trường hợp của tôi, tôi phải truy cập 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ào đó với quyền Kiểm soát hoàn toàn(Full Control) . Thật là khó chịu khi bạn phải làm điều này, nhưng đó là cách duy nhất để chạy script.

Lưu ý: Tài khoản đang được sử dụng để chạy tập lệnh phải là một phần của nhóm Quản trị viên cụ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ộ. (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )

Bước 2: Kiểm tra cài đặt trình lập lịch tác vụ(Task Scheduler Settings)

Bây giờ chúng ta hãy đi tới Trình lập lịch tác vụ(Task Scheduler) và thay đổi các cài đặt thích hợp ở đó. Mở Task Scheduler và tìm công việc của bạn trong phần Active Task( Active Tasks) . 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ở tác vụ trong cùng một cửa sổ. Để chỉnh sửa nhiệm vụ, bạn sẽ phải nhấp chuột phải vào nó và chọn Thuộc tính(Properties) .

Có một số tab và một số thứ phải kiểm tra và thay đổi ở đây. Đầu tiên, trên tab Chung(General) , 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 Aseem mà 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ị(Administrators) viên trên máy tính.

Tiếp theo, bạn phải chọn tùy chọn Chạy cho dù người dùng có đăng nhập hay không( Run whether user is logged on or not) và chọn Windows Vista, Windows Server 2008 trong hộp Cấu hình cho(Configure for) .

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

Bây giờ 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 đư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 để chạy tác vụ.

Cuối cùng, bạn nên chạy tác vụ theo cách thủ công một lần trong Trình lập lịch tác vụ(Task Scheduler) để đảm bảo nó chạy. Nếu nó chạy tốt theo cách thủ công sau khi bạn thay đổi tất cả các cài đặt, thì nó sẽ chạy khi nó được cho là đượ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ứ đều hoạt động tốt.

Lưu ý rằng nếu tập lệnh của bạn đang 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 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 ký tự để truy cập mạng, nó 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. Vui thích!



About the author

Tôi là một chuyên gia máy tính với hơn 10 năm kinh nghiệm. Khi rảnh rỗi, tôi thích giúp việc tại bàn văn phòng và dạy bọn trẻ cách sử dụng Internet. Kỹ năng của tôi bao gồm nhiều thứ, nhưng điều quan trọng nhất là tôi biết cách giúp mọi người giải quyết vấn đề. Nếu bạn cần ai đó có thể giúp bạn trong việc khẩn cấp hoặc chỉ muốn một số mẹo cơ bản, vui lòng liên hệ với tôi!



Related posts