Chạy một tác vụ mỗi x phút với Trình lập lịch tác vụ Windows [đã đóng]


297

Tôi đang cố gắng để Windows Trình lập lịch tác vụ chạy một .exe cụ thể cứ sau 10 phút hoặc lâu hơn, nhưng các tùy chọn chỉ cho phép thực hiện một lần một ngày.

Có cách nào để tôi có thể chạy nó .exe cứ sau 10 hoặc 20 phút không?


6
Không trực quan như trong máy chủ windows 2008, bạn có thể nhập một số vào hộp thả xuống "Lặp lại tác vụ mỗi" trên hộp thoại "Chỉnh sửa kích hoạt". Tôi cũng để lại một liên kết trong mục của MorningZ bên dưới.
David Yates

Câu trả lời:


395

Nhiệm vụ phải được cấu hình theo hai bước.

Đầu tiên bạn tạo một nhiệm vụ đơn giản bắt đầu lúc 0:00 mỗi ngày. Sau đó, bạn vào Advanced...(hoặc tương tự tùy thuộc vào hệ điều hành bạn đang bật) và chọn Repeat every X minutestùy chọn trong 24 giờ.

Chìa khóa ở đây là tìm các thuộc tính nâng cao. Nếu bạn đang sử dụng trình hướng dẫn XP, nó sẽ chỉ cung cấp cho bạn để khởi chạy hộp thoại nâng cao sau khi bạn tạo tác vụ.

Trên các phiên bản Windows gần đây hơn (7+ tôi nghĩ sao?):

  1. Nhấp đúp chuột vào tác vụ và một cửa sổ thuộc tính sẽ hiển thị.
  2. Nhấp vào Triggerstab.
  3. Nhấp đúp vào chi tiết kích hoạt và cửa sổ Chỉnh sửa kích hoạt sẽ hiển thị.
  4. Trong Advanced settingsbảng điều khiển, đánh dấu Repeat task everyxxx phút và đặt Indefinitelynếu bạn cần.
  5. Cuối cùng, nhấn ok.

39
Vấn đề với giải pháp này là nếu bạn khởi động lại vào 0:05, tác vụ sẽ không bắt đầu lặp lại cho đến 23:55 sau đó!
JoshuaDavid

7
Một biến thể nhỏ, sẽ là đặt 24 tác vụ, mỗi tác vụ lặp lại trong 1 giờ. Sau đó, bạn không bao giờ mất hơn một giờ bảo hiểm
Yablargo

101
@FireCoding không nếu bạn đã thiết lập tác vụ để chạy ngay khi bắt đầu theo lịch trình bị bỏ lỡ. Trong Tác vụ> Thuộc tính> Cài đặt> Kiểm traRun task as soon as possible after a scheduled start is missed
Urda

4
@Urda: Giả sử bạn đặt nhiệm vụ bắt đầu lúc 0:00 và lặp lại mỗi giờ. Nếu bạn bật máy tính lúc 06:00 và tùy chọn Run task as soon as possible after...được bật, nó sẽ chạy một hoặc sáu phiên bản của lệnh?
Andreas Rejbrand

7
@AndreasRejbrand If this setting is checked, the Task Scheduler service will start the task if the task was scheduled to run at a certain time, but for some reason (for example, the computer was turned off or the Task Scheduler service was busy) the task was not activated. The Task Scheduler service will not start the task immediately after the task was missed. By default the service waits ten minutes before starting the missed task.Vì vậy, nó chỉ nên bắt đầu 1 thể hiện của nhiệm vụ, không phải toàn bộ hồ sơ tồn đọng.
Urda

44

Sau khi bạn chọn tùy chọn lặp lại tối thiểu (5 phút hoặc 10 phút), bạn có thể đánh dấu số và viết bất kỳ số nào bạn muốn


Đây là những gì hoạt động trên Server 2012 vì không có tùy chọn 'Nâng cao'. Chìa khóa trên các nền tảng này là nhận ra rằng bạn có thể chỉ định bất cứ điều gì bạn thích trong hộp.
quyết định

8
vượt xa ... 0 trên 10 cho khả năng khám phá trong thiết kế giao diện người dùng Microsoft!
Damien Sawyer

tốt để biết, rất tốt để biết :) Nhưng không còn khả năng nào để đi xuống giây, phải không? 1 phút là ít nhất? Tôi muốn đi đến 30 hoặc thậm chí 10 giây ...
BAERUS

1
Đây là một nhận xét, không phải là một câu trả lời.
Leo Natan

3
@LeoNatan Trên thực tế đây là câu trả lời chính xác mà tôi đang tìm kiếm khi tôi đi bộ vào bài đăng này :-)
Jony Adamit

33

Bạn cũng có thể tạo một tệp bó như sau nếu bạn cần độ chi tiết tốt hơn giữa các cuộc gọi:

:loop
CallYour.Exe
timeout /t timeToWaitBetweenCallsInSeconds /nobreak
goto :loop

3
Trong trường hợp của tôi, đó là giải pháp tao nhã nhất vì nhiệm vụ được đề cập đã được bắt đầu từ một tệp bó. Vì vậy, nó chỉ là một vấn đề thêm một vài dòng. Cảm ơn!
tuyên bố

1
Tôi thích giải pháp này. Nhưng làm thế nào để bạn đảm bảo tệp bó này luôn chạy (và chỉ một phiên bản của nó)?
Olivier 'Ölbaum' Scherler

Đây là một cách để làm điều đó có, nhưng Lập lịch tác vụ là cách để đi. Chỉ cần sử dụng tùy chọn "Sau khi khởi động" thay vì một ngày cụ thể và bạn được bảo vệ.
Jakob Sternberg

Tôi có tất cả các loại vấn đề cấu hình một nhiệm vụ để chạy mỗi giờ. Vì vậy, tôi thích giải pháp này để lặp nó và để nó ngủ trong 1 giờ và lặp lại công việc. Chỉ cần tìm hiểu làm thế nào thời gian làm việc với công việc hàng ngày và liệu các nhiệm vụ hàng giờ gây ra vấn đề cứ sau 24 giờ.
CN

23

Trong "Lặp lại tác vụ mỗi:" chỉ cần gõ 2 phút thay vì chọn từ danh sách thả xuống.


2
Cảm ơn. Điều này thật đúng với gì mà tôi đã tìm kiếm. Thời gian tối thiểu được phép trên Win 2008 R2 là 1 phút.
Timothy C. Quinn

19

Trên XP, tôi bấm vào Advancednút trên Scheduletab. Có một hộp kiểm cho Repeat task. Mặc định là cứ sau 10 phút.

Ngoài ra, bạn có thể tạo tác vụ theo lịch trình thông qua dòng lệnh . Tôi đã không thử điều này bản thân mình, nhưng có vẻ như bạn muốn một cái gì đó dọc theo (không được thử nghiệm):

schtasks /create /tn "Some task name" /tr "app.exe" /sc HOURLY 

Tôi bối rối về các tùy chọn cho đến khi. Tôi cài đặt nó để lặp lại cứ sau 5 phút, sau đó tôi buộc phải chọn một nút radio bên dưới ... tôi sẽ nhập gì nếu tôi muốn ti cứ sau 5 phút mỗi ngày và không dừng lại.
kacalacco

OK bạn nói đúng. Điều đó thật khó hiểu. Rõ ràng bạn có thể tạo một thông qua dòng lệnh. Có lẽ đó là giá trị một shot. Tôi đã cập nhật bài viết với liên kết tôi tìm thấy.
Courtney Christensen

19

Ví dụ nhiệm vụ hàng giờ

Trong khi thực hiện lời khuyên ở trên với các nhiệm vụ, bạn có thể thấy trong giao diện người dùng những gì phải được thực hiện để thực hiện một nhiệm vụ hàng giờ. Khi bạn chỉnh sửa kích hoạt bắt đầu nhiệm vụ theo lịch trình, Một lần (đây là chìa khóa). Sau đó, bạn có thể chọn "Lặp lại nhiệm vụ mỗi:" 1 giờ hoặc bất cứ điều gì bạn muốn. Xem ảnh chụp màn hình:


1
Và sử dụng SCHTASKS /Create?
Kiquenet

8

Để lên lịch cập nhật tự động, bạn nên:

  • Chuyển đến Bảng điều khiển »Công cụ quản trị» Nhiệm vụ được lên lịch
  • Tạo tác vụ (cơ bản)
  • Chuyển đến Lịch trình »Nâng cao
  • Chọn hộp cho "Lặp lại tác vụ" cứ sau 10 phút với thời lượng, ví dụ 24 giờ hoặc vô thời hạn
  • Bỏ chọn ngày kết thúc

Nếu bạn không thể tìm thấy cài đặt Lịch biểu, hãy xem bên dưới: Thuộc tính, Chỉnh sửa, Kích hoạt.


3

Một số liên kết được cung cấp chỉ là cài đặt cho phiên bản "Tác vụ theo lịch trình" của Windows 2003

Trong Windows Server 2008, thiết lập "Nhiệm vụ" chỉ có một hộp với các tùy chọn cho "5 phút, 10 phút, 15 phút, 30 phút và 1 giờ" (ảnh chụp màn hình: http://i46.tinypic.com/2gwx7r8.jpg ) ... trong đó Window 2003 là một hộp văn bản "nhập bất kỳ số nào bạn muốn".

Tôi nghĩ làm một "Xuất khẩu" và chỉnh sửa XML từ: PT30M sang PT2M

và nhập nó như một nhiệm vụ mới sẽ "lừa" Nhiệm vụ lặp lại cứ sau 2 phút, nhưng nó không như thế

Cách giải quyết của tôi để nhận một tác vụ chạy cứ sau 2 phút trong Windows 2008 là (ugggh) thiết lập 30 "trình kích hoạt" khác nhau cho nhiệm vụ của tôi lặp lại mỗi giờ nhưng nhìn chằm chằm vào: 00 ,: 02 ,: 04 ,: 06 và cứ thế vào .... mất 8-10 phút để thiết lập nhưng tôi chỉ phải thực hiện một lần :-)


12
Không trực quan như vậy, bạn thực sự có thể nhập một số trong danh sách thả xuống của máy chủ Windows 2008: social.technet.microsoft.com/Forums/en-US/winserverQuản lý / từ
David Yates
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.