Jadwalkan Tugas Windows setiap menit

13

Saya perlu menjadwalkan tugas Windows untuk menjalankan skrip setiap menit. Dalam kebanyakan kasus, skrip tidak perlu menjalankan apa pun dan langsung ada. Ketika skrip perlu mengeksekusi sesuatu, saya ingin memulai pekerjaan secepat mungkin, sehingga interval satu menit.

Sekarang, UI dari Penjadwal Windows telah menjadi sangat membingungkan dalam beberapa tahun terakhir, jadi saya tidak yakin apa cara terbaik untuk menjalankan tugas setiap menit (atau 5 menit ..) pada Windows 2008 R2.

Apakah ini cara terbaik untuk menjadwalkan tugas di Windows setiap menit? Apakah ini dapat diandalkan? Apakah itu langsung dimulai setelah mesin dinyalakan ulang, atau hanya dimulai lagi pada jam 12 siang? Harap dicatat bahwa saya tidak dapat menggunakan / menulis aplikasi layanan khusus untuk ini, karena saya memerlukannya sangat portabel.

Dennis G.
sumber
Tidak, itu bukan cara terbaik. Anda harus menggunakan fungsi tidur atau menunggu dalam skrip Anda.
Joseph Kern

Jawaban:

4

Ya, layanan ini akan berjalan setelah reboot, Anda dapat memverifikasinya di log transaksi layanan layanan Penjadwal Tugas:

    Systemroot \ SchedLgU.txt

    (di mana Systemroot adalah folder instalasi windows Anda)

Jika tidak berfungsi dengan benar (di bawah XP, tidak yakin tentang 2008 yang setara):

    
    Panel Kontrol -> Alat Administratif -> Layanan -> Penjadwal Tugas 

    Setel ke otomatis. 

Dokumentasi 2008 di sini , Dokumentasi XP di sini

Jadwal tugas dimulai pada waktu yang ditentukan, setelah itu dijalankan berdasarkan parameter pengulangan. Waktu mulai dapat dianggap sebagai waktu "pemasangan tugas", ini bukan bagian dari parameter pengulangan (kecuali sebagai pengimbang waktu). Harapan itu masuk akal!

Andy
sumber
Sebenarnya saya maksudkan jika mesin di-reboot, apakah tugasnya dipicu lagi langsung setelah reboot , atau baru mulai lagi pada jam 12 siang, seperti yang ditentukan dalam GUI? Saya perlu tugas untuk menjalankan setiap menit, terlepas dari reboot mesin dll.
27217 Dennis G.
Dan, bagaimana saya bisa sangat jika tugas telah dijalankan? Apakah ini dicatat di suatu tempat di Log Kejadian? Tampaknya saya tidak dapat menemukan entri log apa pun. Terima kasih.
Dennis G.
Jawaban yang diperbarui untuk klarifikasi
Andy
18

Saya memiliki persyaratan yang sama. Di Server 2008, Anda benar-benar dapat mengubah tugas Ulangi setiap: dropdown. Secara default, nilai terendah adalah "5 menit" , tetapi Anda cukup mengetik "1 menit" di sana. Anda dapat memverifikasi ini dengan melihat pada tab Pemicu dan melihat bahwa ia mengatakan "... ulangi setiap 00:01:00 ..." . Anda juga dapat mencoba mengetikkan "10 detik" dan Anda akan mendapatkan pesan kesalahan yang memberi tahu Anda untuk memilih sesuatu yang lebih besar dari 1 menit.

coryvb123
sumber
3
Ini adalah bagian dari pertanyaan yang saya minati. Saya dapat mengkonfirmasi ini masih berfungsi pada 2012 R2.
Melikoth
8

Saya dapat menjadwalkan tugas untuk diulang sekali per menit dengan baris perintah "schtasks". Contoh kodenya adalah:

schtasks / create / sc minute / mo 1 / tn "Nama Tugas" / tr c: \ temp \ filename.exe

Tugas ditampilkan di GUI Windows 2008 R2 dan berjalan satu menit sekali. Tugas harus dibuat dan dimodifikasi dengan utilitas "schtasks" baris perintah.

Sayangnya, Microsoft secara bodoh merancang penjadwal tugas Windows 2008 R2, menjatuhkan konfigurasi fleksibel yang ditemukan di Penjadwal Tugas Windows 2003, mendukung beberapa pilihan terbatas untuk interval.

davephan

davephan
sumber
Ini bekerja pada Win7. Terima kasih.
Vladimir Vukanac
-1

coba ini, bekerja untuk saya ...

REM ================================================= ===============

REM # MAINBODY

REM ================================================= ==============

jika "% 1" == "" echo Penggunaan: - C: \ scripts \ port_schtask.cmd ^ ^ &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && keluar

jika tidak ada C: \ scripts \ port.bat echo Penggunaan: - File TIDAK ada C: \ scripts \ port.bat &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && keluar

% SystemRoot% \ system32 \ schtasks / delete / tn "port.bat% 1% 2" / f

% SystemRoot% \ system32 \ schtasks / create / tr "C: \ scripts \ port.bat% 1% 2" / SC MINUTE / MO 1 / tn "port.bat% 1% 2" / RU "SYSTEM"

% SystemRoot% \ system32 \ SCHTASKS / run / TN "port.bat% 1% 2"

% SystemRoot% \ system32 \ SCHTASKS |% SystemRoot% \ system32 \ find.exe "port.bat% 1% 2"

% SystemRoot% \ system32 \ schtasks / query / TN "port.bat% 1% 2"

% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul

rem ------------------------------------------------- -----

sorakan RJB

RJB
sumber
Mengapa Anda melakukan tindakan yang tidak relevan seperti melakukan ping localhost?
tu-Reinstate Monica-dor duh