Az ütemezett feladat javítása nem fut .BAT fájl esetén

Ha rendelkezik .BAT fájllal, és azt a Windows Feladatütemezővel(Task Scheduler) próbálja automatikusan futtatni , akkor előfordulhat, hogy olyan problémába ütközött, hogy egyszerűen nem fut le, hacsak nem manuálisan futtatja a feladatot.

Létrehoztam egy kötegfájlt, amely a számítógép indításakor mindent töröl az ideiglenes mappából. A Feladatütemezőben(Task Scheduler) létrehoztam egy alapfeladatot, és reméltem a legjobbakat. Sajnos nem történt semmi, amikor a számítógépem elindult. Sok próbálkozás és hiba után rájöttem, hogyan tudom futtatni a szkriptet.

Ebben a cikkben végigvezetem azokon a beállításokon és engedélyeken, amelyeket módosítani kell ahhoz, hogy a kötegfájl kézi beavatkozás nélkül futhasson.

1. lépés: Ellenőrizze File/Folder engedélyeit

A probléma megoldásának első lépése annak biztosítása, hogy a szkriptnek a Feladatütemezőben(Task Scheduler) való futtatásához használt fiók teljes körű(Full Control) engedélyekkel rendelkezzen a szkriptet tartalmazó mappához, magához a szkripthez és minden olyan mappához/fájlhoz, amelyet a szkript futás közben érint.

Például az alábbi kötegelt szkriptet hoztam létre:

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

A .BAT(.BAT) fájlt a Dokumentumok mappába mentettem . Az elérési út: C:\Users\username\Documents . Elmentem a C:\Felhasználók\felhasználónév mappába, jobb gombbal a Dokumentumok(Documents) mappára kattintottam, majd a Tulajdonságok elemre(Properties) . Aztán rákattintottam a Biztonság(Security) fülre.

Amint láthatja, az Aseem felhasználói fiókot kifejezetten hozzáadták, és teljes hozzáférési(Full Control) jogosultságot kapott. Most ugyanezt kell tennie a szkriptet tartalmazó mappával és magával a szkripttel. Ne csak azt feltételezze, hogy ha engedélyt ad a szkriptet tartalmazó mappához, akkor készen áll, mert nem. Végül állítson be engedélyeket minden olyan fájlhoz és mappához, amellyel a szkript kölcsönhatásba lép.

C:\test mappába kellett mennem , jobb gombbal kattintani arra a mappára, és hozzáadnom a felhasználói fiókomat Full Control jogosultságokkal. Kicsit bosszantó, hogy ezt meg kell tennie, de ez az egyetlen módja annak, hogy a szkriptet fusson.

Megjegyzés: A szkript futtatásához használt fióknak a számítógépen a helyi Rendszergazdák csoportba kell tartoznia. Az én esetemben az Aseem-fiók rendszergazdai fiók, és ezért a helyi Rendszergazdák csoport része. (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. )

2. lépés: Ellenőrizze a Feladatütemező beállításait(Task Scheduler Settings)

Most menjünk a Feladatütemezőhöz(Task Scheduler) , és módosítsuk ott a megfelelő beállításokat. Nyissa meg a Feladatütemezőt(Task Scheduler) , és keresse meg a feladatot az Aktív feladatok( Active Tasks) részben. Ezeket betűrendben kell felsorolni.

Kattintson duplán rá, és a feladat önmagában is megnyílik ugyanabban az ablakban. A feladat szerkesztéséhez kattintson rá jobb gombbal, és válassza a Tulajdonságok(Properties) lehetőséget .

Számos lap van, és néhány dolgot ellenőrizni és módosítani kell itt. Először is, az Általános(General) lapon ellenőriznie kell a feladat futtatásához használt felhasználói fiókot. Az én esetemben ez az Aseem -fiók, amelyhez korábban engedélyt adtam a fájlrendszerben, és amely a rendszergazdák(Administrators) csoport része a számítógépen.

Ezután válassza ki a Futtatás, függetlenül attól, hogy a felhasználó bejelentkezett-e vagy sem( Run whether user is logged on or not) lehetőséget, és válassza a Windows Vista, Windows Server 2008 lehetőséget a Konfigurálás(Configure for) mezőben.

A Műveletek(Actions) lapon válassza ki a szkriptet, kattintson a Szerkesztés(Edit) gombra, majd adja hozzá a szkriptet tartalmazó mappa elérési útját az Indítás itt (nem kötelező)(e Start in (optional)) mezőben. Ez talán szükségtelennek tűnik, de nem az. Az én esetemben C:\Users\Aseem\Documents\ tettem a dobozba.

Most kattintson az OK gombra(OK) a beállítások mentéséhez. Amikor ezt megteszi, megjelenhet egy párbeszédpanel, ahol meg kell adnia a feladatot futtató felhasználói fiók jelszavát. Ez egy másik követelményt vet fel. Nem használhat olyan fiókot, amelyhez nincs jelszó. A felhasználói fióknak jelszóval kell rendelkeznie a feladat futtatásához.

Végül futtassa le a feladatot egyszer manuálisan a Feladatütemezőben(Task Scheduler) , hogy biztosan lefusson. Ha manuálisan jól fut, miután módosította az összes beállítást, akkor futnia kell, amikor aktiválni kell. Az én esetemben ennek indításkor kellett volna megtörténnie, és miután elvégeztem a változtatásokat, minden jól működött.

Ne feledje, hogy ha a parancsfájl futtatásakor egy tartomány különböző számítógépeit éri el, próbálja meg a tartományi rendszergazdai fiókot használni a feladat futtatásához. Ez biztosítja, hogy a fióknak elegendő engedélye legyen a távoli számítógépek eléréséhez.

Egy másik megjegyzés, ha a szkript hozzáfér egy hálózati megosztáson lévő erőforrásokhoz. Ha a szkript betűket használ a hálózat eléréséhez, előfordulhat, hogy nem fut. Például az F:\data\ helyett használja a \\machinename\share_name\data\ Â értéket a szkriptben. Ha még mindig nem tudja futtatni a szkriptet, írjon megjegyzést ide, és megpróbálok segíteni. Élvezd!



About the author

Számítástechnikai szakértő vagyok, több mint 10 éves tapasztalattal, és arra specializálódtam, hogy segítsek az embereknek az irodájukban lévő számítógépeik kezelésében. Cikkeket írtam olyan témákban, mint az internetkapcsolat optimalizálása, a számítógép beállítása a legjobb játékélmény érdekében stb. Ha bármiben szeretnél segítséget kérni munkáddal vagy magánéleteddel kapcsolatban, én vagyok a megfelelő személy!



Related posts