Disyorkan, 2024

Pilihan Editor

Betulkan Tugasan Berjadual Tidak Akan Dilaksanakan untuk Fail BAT

Sekiranya anda mempunyai fail.BAT dan anda cuba untuk menjalankannya secara automatik menggunakan Penjadual Tugas di Windows, anda mungkin menghadapi masalah yang tidak berfungsi kecuali anda menjalankan tugas secara manual.

Saya telah mencipta fail kumpulan yang memadamkan semuanya di dalam folder temp setiap kali komputer dimulakan. Saya mencipta tugas asas dalam Penjadual Tugas dan berharap yang terbaik. Malangnya, tiada apa yang berlaku apabila komputer saya dimulakan. Selepas banyak percubaan dan kesilapan, saya tahu cara untuk mendapatkan skrip untuk dijalankan.

Dalam artikel ini, saya akan memandu anda melalui tetapan dan keizinan yang anda perlukan untuk menyesuaikan agar file batch anda berjalan tanpa campur tangan manual.

Langkah 1: Semak Kebenaran Fail / Folder

Langkah pertama untuk menyelesaikan masalah ini ialah memastikan akaun yang anda gunakan untuk menjalankan skrip dalam Task Scheduler mempunyai keizinan Kendali Penuh pada folder yang mengandungi skrip, skrip itu sendiri, dan folder / fail mana yang disentuh skrip ketika ia berjalan.

Contohnya, saya buat skrip batch berikut:

 tetapkan folder = "C: \ test" cd / d% folder% for / F "delims =" %% i in ('dir / b') do (rmdir "%% i" / s / q | % i "/ s / q) 

Saya menyimpan fail .BAT ke folder Dokumen saya. Jalannya adalah C: \ Users \ username \ Documents . Saya pergi ke C: \ Users \ username, klik kanan pada folder Dokumen, dan klik pada Properties . Kemudian saya mengklik pada tab Keselamatan .

Seperti yang anda dapat lihat, akaun pengguna Aseem telah ditambah secara jelas dan diberi kebenaran Kendali Penuh . Sekarang anda perlu melakukan perkara yang sama untuk folder yang mengandungi skrip dan skrip itu sendiri. Jangan hanya menganggap bahawa jika anda memberi kebenaran ke folder yang mengandungi skrip, anda boleh pergi, kerana anda tidak. Terakhir, tetapkan keizinan pada mana-mana fail dan folder yang skrip akan berinteraksi.

Dalam kes saya, saya terpaksa pergi ke C: \ test, klik kanan pada folder itu dan tambahkan akaun pengguna saya di sana dengan kebenaran Kendali Penuh. Ini jenis menjengkelkan bahawa anda perlu melakukan ini, tetapi ia satu-satunya cara untuk mendapatkan skrip untuk dijalankan.

Nota : Akaun yang digunakan untuk menjalankan skrip harus menjadi sebahagian daripada kumpulan Pentadbir setempat pada komputer. Dalam kes saya, akaun Aseem adalah akaun pentadbir dan oleh itu sebahagian daripada kumpulan Pentadbir tempatan.

Langkah 2: Semak Tetapan Penjadual Tugas

Sekarang mari kita pergi ke Task Scheduler dan tukar tetapan yang sesuai di sana. Buka Penjadual Tugas dan cari tugas anda di bawah bahagian Aktif Tasks . Mereka perlu disenaraikan dalam susunan abjad.

Klik dua kali padanya dan ia akan membuka tugas dengan sendirinya dalam tetingkap yang sama. Untuk mengedit tugas, anda perlu klik kanan padanya dan pilih Properties .

Terdapat beberapa tab dan beberapa perkara perlu diperiksa dan diubah di sini. Pertama, pada tab Umum, anda perlu menyemak akaun pengguna yang sedang digunakan untuk menjalankan tugas. Dalam kes saya, ini adalah akaun Aseem, yang telah saya berikan keizinan terlebih dahulu pada sistem fail dan yang merupakan sebahagian daripada kumpulan Pentadbir pada komputer.

Seterusnya, anda perlu memilih Run jika pengguna dilog masuk atau tidak memilih dan memilih Windows Vista, Windows Server 2008 dalam kotak Konfigurasi untuk .

Pada tab Tindakan, anda perlu memilih skrip, klik pada Edit dan kemudian tambah dalam laluan ke folder yang mengandungi skrip dalam kotak Start dan (pilihan) . Ini mungkin kelihatan tidak perlu, tetapi tidak. Dalam kes saya, saya dimasukkan ke dalam C: \ Users \ Aseem \ Documents \ dalam kotak.

Sekarang klik OK untuk menyimpan tetapan. Apabila anda melakukan ini, dialog mungkin muncul di mana anda perlu memasukkan kata laluan untuk akaun pengguna yang akan menjalankan tugas itu. Ini membawa keperluan lain. Anda tidak boleh menggunakan akaun yang tidak mempunyai kata laluan. Akaun pengguna perlu mempunyai kata laluan supaya tugasan dijalankan.

Akhir sekali, anda perlu menjalankan tugas secara manual sekali dalam Penjadual Tugas untuk memastikan ia berjalan. Jika ia berjalan dengan baik secara manual selepas anda menukar semua tetapan, maka ia harus berjalan apabila ia sepatutnya dicetuskan. Dalam kes saya, ia sepatutnya berlaku pada permulaan dan selepas saya membuat perubahan, semuanya berfungsi dengan baik.

Ambil perhatian bahawa jika skrip anda mengakses komputer yang berbeza dalam domain semasa dijalankan, anda harus cuba menggunakan akaun pentadbir domain untuk menjalankan tugas tersebut. Ini akan memastikan akaun mempunyai keizinan yang cukup untuk mengakses komputer jauh.

Perkara lain yang perlu diperhatikan adalah jika skrip anda mengakses sumber-sumber pada bahagian rangkaian. Jika skrip anda menggunakan huruf untuk mengakses rangkaian, ia mungkin tidak berjalan. Sebagai contoh, daripada menggunakan F: \ data \, anda harus menggunakan \\ machinename \ share_name \ data \ dalam skrip. Jika anda masih tidak dapat menjalankan skrip anda, siarkan komen di sini dan saya akan cuba membantu. Nikmati!

Top