Ak máte súbor .BAT a pokúšate sa ho spustiť automaticky pomocou nástroja Plánovač úloh v systéme Windows, môžete sa dostať do problému, kde sa jednoducho nespustí, ak manuálne nespustíte úlohu.
Vytvoril som dávkový súbor, ktorý vymaže všetko v priečinku temp pri každom spustení počítača. Vytvoril som základnú úlohu v Plánovači úloh a dúfal som, že to bude najlepšie. Bohužiaľ, nič sa nestalo, keď bol počítač nabitý. Po mnohých pokusoch a omyloch som zistil, ako dostať skript do prevádzky.
V tomto článku vás budem prechádzať nastaveniami a povoleniami, ktoré potrebujete upraviť, aby sa váš dávkový súbor spustil bez manuálneho zásahu.
Krok 1: Skontrolujte oprávnenie súborov / priečinkov
Prvým krokom k odstráneniu tohto problému je zabezpečenie toho, aby účet, ktorý používate na spustenie skriptu v Plánovači úloh, mal oprávnenie Úplného riadenia na priečinok obsahujúci skript, samotný skript a všetky priečinky / súbory, ktoré sa skript dotýka pri jeho spustení.
Napríklad som vytvoril nasledujúci dávkový skript nižšie:
nastaviť priečinok = "C: \ test" cd / d% priečinok% pre / F "delims =" %% i in ('dir / b') do (rmdir "%% i" % i "/ s / q)
Uložil som súbor .BAT do priečinka Dokumenty. Cesta je C: \ Users \ username \ Documents . Prišiel som do používateľského mena C: \ Users \, klikol som pravým tlačidlom myši na priečinok Dokumenty a klikol na Vlastnosti . Potom som klikol na kartu Zabezpečenie .
Ako vidíte, používateľské konto Aseem bolo explicitne pridané a dostalo sa mu povolenie úplného riadenia . Teraz musíte urobiť to isté pre priečinok, ktorý obsahuje skript a samotný skript. Nepoužívajte len predpokladať, že ak dáte povolenia pre priečinok obsahujúci skript, máte dobré ísť, pretože to nie ste. Nakoniec nastavte povolenia pre všetky súbory a priečinky, s ktorými bude skript komunikovať.
V mojom prípade som musel ísť na C: \ test, kliknúť pravým tlačidlom myši na tento priečinok a pridať môj používateľský účet tam s oprávneniami Úplného riadenia. 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 správcovským účtom, a preto je súčasťou lokálnej skupiny Administrators.
Krok 2: Skontrolujte nastavenia Plánovača úloh
Teraz prejdime do Plánovača úloh a zmeňte tam príslušné nastavenia. Otvorte Plánovač úloh a nájdite svoju úlohu v sekcii Aktívne úlohy . Mali by byť uvedené v abecednom poradí.
Dvakrát kliknite na ňu a otvorí úlohu samotnú v tom istom okne. Ak chcete úlohu upraviť, musíte na ňu pravým tlačidlom kliknúť a vybrať položku Vlastnosti .
Existuje niekoľko kariet a pár vecí sa tu musí skontrolovať a zmeniť. Po prvé, na karte Všeobecné je potrebné skontrolovať používateľský účet, ktorý sa používa na spustenie úlohy. V mojom prípade je to účet Aseem, ktorý som v systéme súborov povolil skôr 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, a vyberte položku Windows Vista, Windows Server 2008 v poli Konfigurovať pre .
Na karte Akcie musíte skript vybrať, kliknúť na položku Upraviť a potom pridať cestu do priečinka obsahujúceho skript v poli Začať v (voliteľné) . Môže sa to zdať zbytočné, ale nie. V mojom prípade vložil do poľa C: \ Users \ Aseem \ Documents \ .
Teraz kliknite na tlačidlo OK pre uloženie nastavení. Keď to urobíte, môže sa objaviť dialógové okno, kde musíte zadať heslo pre používateľský účet, ktorý spustí túto úlohu. To vyvoláva ďalšiu požiadavku. Nemôžete použiť účet, ktorý nemá heslo. Na spustenie úlohy musí mať používateľské konto heslo.
Nakoniec by ste mali spustiť úlohu manuálne raz v Plánovači úloh, aby ste sa uistili, že beží. Ak to funguje správne po zmene všetkých nastavení, malo by to bežať, keď sa má spustiť. V mojom prípade sa to malo stať pri štarte a po vykonaní zmien všetko fungovalo dobre.
Upozorňujeme, že ak váš skript pristupuje k iným počítačom v doméne pri spustení, skúste použiť účet správcu domény na spustenie úlohy. To zabezpečí, že účet má dostatok povolení na prístup k vzdialeným počítačom.
Ďalšou položkou, ktorú treba poznamenať, je, ak skript pristupuje k zdrojom v zdieľanej sieti Ak skript používa písmená na prístup k sieti, nemusí sa spustiť. Napríklad namiesto použitia F: \ data \ by ste mali použiť skript \\ machinename \ share_name \ data \ . Ak stále nemôžete skript spustiť, uverejnite tu komentár a pokúsim sa pomôcť. Užite si to!