Oprava naplánovanej úlohy, ktorá sa nespustí pre súbor .BAT

Ak máte súbor .BAT a pokúšate sa ho spustiť automaticky pomocou Plánovača úloh(Task Scheduler) v systéme Windows(Windows) , možno ste narazili na problém, že sa jednoducho nespustí, pokiaľ úlohu nespustíte manuálne.

Vytvoril som dávkový súbor, ktorý vymaže všetko v dočasnom priečinku pri každom spustení počítača. Vytvoril som základnú úlohu v Plánovači úloh(Task Scheduler) a dúfal som v to najlepšie. Žiaľ, po spustení počítača sa nič nestalo. Po mnohých pokusoch a omyloch som prišiel na to, ako spustiť skript.

V tomto článku vás prevediem nastaveniami a povoleniami, ktoré musíte upraviť, aby sa váš dávkový súbor spustil bez manuálneho zásahu.

Krok 1: Skontrolujte povolenia File/Folder

Prvým krokom k vyriešeniu tohto problému je zaistenie toho, že konto, ktoré používate na spustenie skriptu v Plánovači úloh(Task Scheduler) , má povolenia Úplné ovládanie(Full Control) pre priečinok obsahujúci skript, samotný skript a všetky priečinky/súbory, ktorých sa skript pri spustení dotkne.

Napríklad som vytvoril nasledujúci dávkový skript nižšie:

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

Uložil som súbor .BAT do priečinka Dokumenty. Cesta je C:\Users\username\Documents . Išiel som do C:\Používatelia\používateľské meno, klikol som pravým tlačidlom myši na priečinok Dokumenty(Documents) a klikol na Vlastnosti(Properties) . Potom som klikol na kartu Zabezpečenie .(Security)

Ako môžete vidieť, používateľský účet Aseem bol explicitne pridaný a bolo mu udelené oprávnenie Úplné ovládanie(Full Control) . Teraz musíte urobiť to isté pre priečinok, ktorý obsahuje skript, a pre samotný skript. Nepredpokladajte, že ak dáte povolenia priečinku obsahujúcemu skript, môžete začať, pretože nie. Nakoniec nastavte povolenia pre všetky súbory a priečinky, s ktorými bude skript interagovať.

V mojom prípade som musel ísť do C:\test , kliknúť pravým tlačidlom myši na tento priečinok a pridať tam svoje používateľské konto s oprávneniami Full Control . Je to trochu nepríjemné, že to musíte urobiť, ale je to jediný spôsob, ako spustiť skript.

Poznámka: Účet, ktorý sa používa na spustenie skriptu, musí byť súčasťou lokálnej skupiny Administrators v počítači. V mojom prípade je účet Aseem účtom správcu, a preto je súčasťou lokálnej skupiny Administrators. (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. )

Krok 2: Skontrolujte nastavenia plánovača úloh(Task Scheduler Settings)

Teraz poďme do Plánovača úloh(Task Scheduler) a zmeňte tam príslušné nastavenia. Otvorte Plánovač úloh(Task Scheduler) a nájdite svoju úlohu v časti Aktívne úlohy( Active Tasks) . Mali by byť uvedené v abecednom poradí.

Dvakrát naň kliknite a úloha sa sama otvorí v tom istom okne. Ak chcete úlohu upraviť, musíte na ňu kliknúť pravým tlačidlom myši a vybrať položku Vlastnosti(Properties) .

Existuje niekoľko kariet a tu je potrebné skontrolovať a zmeniť niekoľko vecí. Najprv musíte na karte Všeobecné skontrolovať používateľský účet, ktorý sa používa na spustenie úlohy. (General)V mojom prípade je to účet Aseem , ktorému som predtým udelil povolenia v systéme súborov a ktorý je súčasťou skupiny Administrators v počítači.

Ďalej musíte vybrať možnosť Spustiť, či je používateľ prihlásený alebo nie( Run whether user is logged on or not) , a v poli Konfigurovať pre(Configure for) vyberte Windows Vista, Windows Server 2008 .

Na karte Akcie(Actions) musíte vybrať skript, kliknúť na Upraviť(Edit) a potom pridať cestu k priečinku obsahujúcemu skript do poľa Začať v (voliteľné)(e Start in (optional)) . Môže sa to zdať zbytočné, ale nie je. V mojom prípade som do poľa vložil C:\Users\Aseem\Documents\ .

Teraz kliknite na OK pre uloženie nastavení. Keď to urobíte, môže sa zobraziť dialógové okno, v ktorom musíte zadať heslo pre používateľský účet, ktorý spustí úlohu. To prináša ďalšiu požiadavku. Nemôžete použiť účet, ktorý nemá heslo. Používateľský účet musí mať heslo, aby sa úloha mohla spustiť.

Nakoniec by ste mali úlohu spustiť ručne raz v Plánovači úloh(Task Scheduler) , aby ste sa uistili, že sa spustí. Ak po zmene všetkých nastavení funguje dobre manuálne, malo by sa spustiť vtedy, keď sa má spustiť. V mojom prípade sa to malo stať pri spustení a po vykonaní zmien všetko fungovalo dobre.

Upozorňujeme, že ak váš skript pri spustení pristupuje k rôznym počítačom v doméne, mali by ste sa pokúsiť na spustenie úlohy použiť účet správcu domény. Tým sa zabezpečí, že účet má dostatok povolení na prístup k vzdialeným počítačom.

Ďalšou položkou, ktorú si treba všimnúť, je, či váš skript pristupuje k prostriedkom na zdieľanom sieťovom priečinku. Ak váš skript používa na prístup k sieti písmená, nemusí sa spustiť. Napríklad namiesto použitia F:\data\ by ste mali v skripte použiť \\machinename\share_name\data\Ak sa vám stále nedarí spustiť skript, napíšte sem komentár a ja sa vám pokúsim pomôcť. Užite si to!



About the author

Som počítačový profesionál s viac ako 10 ročnou praxou. Vo voľnom čase rada pomáham v kancelárii a učím deti používať internet. Moje schopnosti zahŕňajú veľa vecí, ale najdôležitejšie je, že viem pomáhať ľuďom riešiť problémy. Ak potrebujete niekoho, kto vám môže pomôcť s niečím súrne, alebo chcete len nejaké základné tipy, obráťte sa na mňa!



Related posts