Popravak planiranog zadatka koji se ne izvodi za .BAT datoteku

Ako imate .BAT datoteku i pokušavate je pokrenuti da se automatski pokrene pomoću Planera zadataka(Task Scheduler) u sustavu Windows(Windows) , možda ste naišli na problem u kojem se jednostavno ne pokreće osim ako ručno ne pokrenete zadatak.

Napravio sam batch datoteku koja briše sve unutar privremene mape kad god se računalo pokrene. Napravio sam osnovni zadatak u Task Scheduleru(Task Scheduler) i nadao se najboljem. Nažalost, ništa se nije dogodilo kada se moje računalo pokrenulo. Nakon mnogo pokušaja i pogrešaka, shvatio sam kako pokrenuti skriptu.

U ovom članku ću vas provesti kroz postavke i dopuštenja koja trebate prilagoditi kako bi se vaša batch datoteka pokrenula bez ručne intervencije.

Korak 1: Provjerite dopuštenja File/Folder

Prvi korak za rješavanje ovog problema je osiguravanje da račun koji koristite za pokretanje skripte u Planeru zadataka(Task Scheduler) ima punu kontrolu(Full Control) nad mapom koja sadrži skriptu, samu skriptu i sve mape/datoteke koje skripta dotakne kada se pokrene.

Na primjer, stvorio sam sljedeću skupnu skriptu u nastavku:

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

Spremio sam .BAT datoteku u mapu Dokumenti. Put je C:\Users\username\Documents . Otišao sam na C:\Users\username, desnom tipkom miša kliknuo mapu Dokumenti(Documents) i kliknuo na Svojstva(Properties) . Zatim sam kliknuo na karticu Sigurnost(Security) .

Kao što možete vidjeti, korisnički račun Aseem je eksplicitno dodan i dobio dopuštenje pune kontrole.Â(Full Control) Sada morate učiniti istu stvar za mapu koja sadrži skriptu i za samu skriptu. Nemojte samo pretpostaviti da, ako date dopuštenja mapi koja sadrži skriptu, možete krenuti, jer niste. Na kraju, postavite dopuštenja za sve datoteke i mape s kojima će skripta komunicirati.

U mom slučaju, morao sam otići na C:\test , kliknuti desnom tipkom miša na tu mapu i tamo dodati svoj korisnički račun s dopuštenjima pune kontrole . (Full Control)Malo je neugodno što to morate učiniti, ali to je jedini način da pokrenete skriptu.

Napomena: Račun koji se koristi za pokretanje skripte mora biti dio lokalne grupe administratora na računalu. U mom slučaju, Aseem račun je administratorski račun i stoga dio lokalne grupe administratora. (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )

Korak 2: Provjerite postavke planera zadataka(Task Scheduler Settings)

Sada idemo na Task Scheduler i tamo promijenimo odgovarajuće postavke. Otvorite Task Scheduler i pronađite svoj zadatak u odjeljku Aktivni zadaci( Active Tasks) . Trebali bi biti navedeni abecednim redom.

Dvaput kliknite na njega i on će sam otvoriti zadatak u istom prozoru. Da biste uredili zadatak, morat ćete ga kliknuti desnom tipkom miša i odabrati Svojstva(Properties) .

Postoji nekoliko kartica i ovdje je potrebno provjeriti i promijeniti nekoliko stvari. Prvo, na kartici Općenito(General) , trebate provjeriti korisnički račun koji se koristi za pokretanje zadatka. U mom slučaju, to je Aseem račun, kojem sam ranije dao dopuštenja u datotečnom sustavu i koji je dio grupe administratora(Administrators) na računalu.

Zatim morate odabrati opciju Pokreni je li korisnik prijavljen ili ne( Run whether user is logged on or not) i odabrati Windows Vista, Windows Server 2008 u okviru Konfiguriraj za(Configure for) .

Na kartici Radnje(Actions) morate odabrati skriptu, kliknuti na Uredi(Edit) i zatim dodati put do mape koja sadrži skriptu u okviru Pokreni u (izborno)(e Start in (optional)) . Ovo se može činiti nepotrebnim, ali nije. U mom slučaju, u okvir sam stavio C:\Users\Aseem\Documents\ .

Sada kliknite na OK za spremanje postavki. Kada to učinite, može se pojaviti dijaloški okvir u kojem morate unijeti lozinku za korisnički račun koji će pokrenuti zadatak. Ovo postavlja još jedan zahtjev. Ne možete koristiti račun koji nema lozinku. Korisnički račun mora imati lozinku da bi se zadatak mogao pokrenuti.

Na kraju, trebali biste ručno pokrenuti zadatak jednom u Planeru zadataka(Task Scheduler) kako biste bili sigurni da se izvodi. Ako radi dobro ručno nakon što ste promijenili sve postavke, onda bi se trebao pokrenuti kada bi se trebao pokrenuti. U mom slučaju, to se trebalo dogoditi pri pokretanju i nakon što sam napravio promjene, sve je radilo u redu.

Imajte na umu da ako vaša skripta prilikom pokretanja pristupa različitim računalima u domeni, trebali biste pokušati upotrijebiti račun administratora domene za pokretanje zadatka. To će osigurati da račun ima dovoljno dopuštenja za pristup udaljenim računalima.

Još jedna stavka koju treba imati na umu je ako vaša skripta pristupa resursima na mrežnom dijeljenju. Ako vaša skripta koristi slova za pristup mreži, možda se neće pokrenuti. Na primjer, umjesto korištenja F:\data\ , trebali biste koristiti \\machinename\share_name\data\ Â u skripti. Ako još uvijek ne možete pokrenuti svoju skriptu, ostavite komentar ovdje i pokušat ću vam pomoći. Uživati!



About the author

Ja sam računalni profesionalac s više od 10 godina iskustva. U slobodno vrijeme volim pomagati za uredskim stolom i učiti djecu kako se koristiti internetom. Moje vještine uključuju mnoge stvari, ali najvažnije je da znam kako pomoći ljudima u rješavanju problema. Ako trebate nekoga tko vam može pomoći s nečim hitnim ili samo želite neke osnovne savjete, obratite mi se!



Related posts