Tập tin Bat để gọi A.bat nếu thời gian ít hơn 19:45 và gọi B.bat nếu thời gian lớn hơn 19:45 (tôi không thể sử dụng Windows Task Scheduler trong trường hợp này vì tôi có cài đặt làm cho trình quản lý tải xuống của tôi kích hoạt tệp bat gốc này mỗi lần tải tệp xuống thông qua trình quản lý tải xuống này)Tập tin Bat để gọi A.bat nếu thời gian ít hơn 19:45 và gọi B.bat nếu thời gian lớn hơn 19:45
Trả lời
Cách sử dụng Windows Task Scheduler?
Kiểm tra các lệnh DATE and TIME tại đây.
Bạn có thể sử dụng đoạn mã sau làm cơ sở (bạn có thể sử dụng bat
file nhưng tôi thích cmd
như một phần mở rộng):
@echo off
setlocal enableextensions enabledelayedexpansion
set tm=%time%
:: Test data on lines below.
:: set tm=18:59:59.00
:: set tm=19:00:00.00
:: set tm=19:44:59.00
:: set tm=19:45:00.00
:: set tm=23:59:59.99
set hh=!tm:~0,2!
set mm=!tm:~3,2!
if !hh! lss 19 (
call a.cmd
goto :done
)
if !hh! equ 19 (
if !mm! lss 45 (
call a.cmd
goto :done
)
)
call b.cmd
:done
endlocal
Hãy ghi nhớ rằng %time%
là định dạng tương tự như bạn nhận được từ các time
lệnh và điều này có thể phụ thuộc vào ngôn ngữ. Định dạng tôi nhận được là 20:17:28.48
vào khoảng 8:15 tối nhưng kết quả của bạn có thể khác.
Nếu có, chỉ cần điều chỉnh đế khi đặt hh
và mm
. Lệnh:
set mm=!tm:~3,2!
bộ mm
cho hai nhân vật của tm
tại offset 3 (nơi offset 0 là ký tự đầu tiên).
Nếu bạn không phải là fan hâm mộ lớn của spaghetti mã, ngay cả trong hàng loạt, bạn cũng có thể sử dụng:
@echo off
setlocal enableextensions enabledelayedexpansion
set tm=%time%
:: Test data on lines below.
:: set tm=18:59:59.00
:: set tm=19:00:00.00
:: set tm=19:44:59.00
:: set tm=19:45:00.00
:: set tm=23:59:59.99
set hh=!tm:~0,2!
set mm=!tm:~3,2!
if !hh! lss 19 (
call a.cmd
) else (
if !hh! equ 19 if !mm! lss 45 (
call a.cmd
) else (
call b.cmd
)
)
endlocal
Chỉ tò mò: không có 'khác' trong Windows ngôn ngữ hàng loạt? –
Không có 'hoặc' trong ngôn ngữ lô Windows? :) –
@Adriano, nó không phải là thích nghi nhất của ngôn ngữ nhưng bạn _can_ làm một số điều: 'else' và' và' được hiển thị. Tôi thường mô phỏng 'hoặc' với nhiều' if 'thiết lập một cờ thì một' if' dựa trên lá cờ đó. Nguyên thủy nhưng, nếu công cụ duy nhất bạn có là hàm của voi ma mút, bạn không thể quá cầu kỳ :-) – paxdiablo
thời gian gần đây tôi đang làm một cái gì đó tương tự và giải pháp của tôi là một vòng lặp for - không amazingly nhỏ gọn nhưng có công việc làm:
for /f "tokens=1,2,3,4 delims=:,. " %%i in ("%time%") do (
echo Timegrab = %%i %%j %%k %%l
set hr=%%i
set mn=%%j
set sc=%%k
set ms=%%l
)
Sau đó, tất cả các bạn sẽ cần phải làm là một tuyên bố IF để kiểm tra xem% hr% là ít hơn 19% và mn% là ít hơn 45.
- 1. thời gian người dùng lớn hơn thời gian thực
- 2. Kiểm tra PHP nếu dấu thời gian lớn hơn 24 giờ kể từ bây giờ
- 3. std :: set chọn ít hoặc lớn hơn so sánh tại thời gian chạy
- 4. Làm thế nào để gọi TriggerBatch tự động sau một thời gian chờ nếu số lượng các mục được xếp hàng đợi ít hơn BatchSize?
- 5. Hiệu quả giữa con trỏ và mảng (hướng dẫn lắp ráp ít hơn không mất ít thời gian hơn)
- 6. Điều gì sẽ xảy ra nếu TimerTask mất nhiều thời gian hơn để thực thi hơn khoảng thời gian đã chỉ định?
- 7. Thời gian tải lại chậm hơn .vimrc
- 8. PHP Kiểm tra nếu dấu thời gian nhỏ hơn 30 phút
- 9. django: lấy chính xác dữ liệu mà ngày tháng và thời gian lớn hơn tại
- 10. PHP: Bỏ qua Truy vấn MySql nếu mất nhiều thời gian hơn một giây
- 11. thời gian ra một phương pháp gọi
- 12. ASP.NET MVC Tải lên tập tin thời gian ra
- 13. Sự khác biệt giữa thời gian sửa đổi tập tin và thời gian thay đổi tập tin là gì?
- 14. Chức năng hết thời gian chờ nếu mất quá nhiều thời gian để hoàn thành
- 15. phương thức gọi tại thời gian chạy
- 16. Gọi EJB với thời gian chờ
- 17. PHP, loại bỏ thời gian và nhiều hơn nữa
- 18. Trong Python: kiểm tra xem thời gian chỉnh sửa tập tin cũ hơn một datetime cụ
- 19. Chức năng bỏ qua nếu mất quá nhiều thời gian
- 20. Thời gian Android và Java Thời gian
- 21. javascript nếu số lớn hơn số
- 22. Yêu cầu thời gian hoàn thành lớn hơn tổng của ActiveRecord và Xem lần
- 23. Cho CPU nhiều thời gian hơn vào GC trong java?
- 24. Tại sao cuộc gọi đầu tiên đến một DLL Matlab mất nhiều thời gian hơn các cuộc gọi tiếp theo?
- 25. Lưu tập tin flv lớn hơn 5mb +
- 26. Tính thời gian ngày Khoảng thời gian tối thiểu, tối đa và lớn nhỏ nhất
- 27. 30.000 điểm dữ liệu, tìm sự thay đổi lớn nhất thời gian hơn 2 tuần
- 28. Thuật toán để kiểm tra nếu tập A là tập hợp con của tập B nhanh hơn thời gian tuyến tính
- 29. Giờ mở rộng PHP(): Hiển thị thời lượng lớn hơn 24 giờ nhưng không phải là ngày nếu lớn hơn 24 giờ
- 30. Trie so với cây đỏ-đen: tốt hơn trong không gian và thời gian?
Tôi không thể sử dụng cửa sổ tác vụ sheduler trong trường hợp này vì tôi có cài đặt làm cho trình quản lý tải xuống của tôi kích hoạt tệp bat gốc này mỗi khi tệp được tải xuống thông qua trình quản lý tải xuống này – dhiraj05