Nếu bạn có tệp .BAT và bạn đang cố gắng để nó tự động chạy bằng Trình lập lịch tác vụ trong Windows, bạn có thể đã gặp phải sự cố khi đơn giản là nó không chạy trừ khi bạn tự chạy tác vụ.
Tôi đã tạo một tệp bó xóa mọi thứ 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 Trình lập lịch tác vụ 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 thử nghiệm và sai sót, 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 các cài đặt và quyền bạn cần điều chỉnh để có được tệp bó của bạn chạy mà không cần can thiệp thủ công.
Bước 1: Kiểm tra quyền tệp / thư mục
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ụ có quyền Kiểm soát hoàn toàn trên thư mục chứa tập lệnh, chính tập lệnh và mọi thư mục / tệp mà tập lệnh chạm vào khi chạy.
Ví dụ: tôi đã tạo tập lệnh bó sau đây:
đặt thư mục = "C: \ test" cd / d% thư mục% 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 Tài liệu và 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 một cách 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à 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 sẽ ổn, bởi vì bạn không. 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 mình ở đó 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 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ộ.
Bước 2: Kiểm tra Cài đặt Lập lịch tác vụ
Bây giờ chúng ta hãy đi đến Trình lập lịch tác vụ và thay đổi các cài đặt thích hợp ở đó. Mở Trình lập lịch tác vụ và tìm nhiệm vụ của bạn trong phần Nhiệm vụ hoạt động . Chúng nên được liệt kê ra 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 phải kiểm tra và thay đổi ở đây. Đầu tiên, 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 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ị 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 và chọn Windows Vista, Windows Server 2008 trong hộp Cấu hình cho .
Trên tab Hành động, bạn phải chọn tập lệnh, nhấp vào Chỉnh sửa và sau đó thêm vào đường dẫn đến thư mục chứa tập lệnh trong hộp Bắt đầu (tùy chọn) . Điều này có vẻ không cần thiết, nhưng nó không phải là. Trong trường hợp của tôi, tôi đặt C: \ Users \ Aseem \ Documents \ vào hộp.
Bây giờ bấm vào OK để lưu các cài đặt. Khi bạn thực hiện việc 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 mang đến 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 để thực hiện tác vụ.
Cuối cùng, bạn nên chạy tác vụ một cách thủ công một lần trong Trình lập lịch tác vụ để đả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 đượ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 thử 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 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 bình luận tại đây và tôi sẽ cố gắng giúp đỡ. Thưởng thức!