Ajánlott, 2024

Szerkesztő Választása

Fix ütemezett feladat nem futtatható .BAT fájl esetén

Ha van egy .BAT-fájlja, és azt szeretné, hogy automatikusan futtassa a feladatütemezővel a Windows rendszerben, előfordulhat, hogy befutott a problémára, ahol egyszerűen nem fut, kivéve, ha manuálisan futtatja a feladatot.

Létrehoztam egy kötegelt fájlt, amely minden törlést töröl egy temp mappában, amikor a számítógép elindul. Létrehoztam egy alapvető feladatot a Feladatütemezőben, és reméltem a legjobbat. Sajnos nem történt semmi, amikor a számítógépem elindult. Sok próbálkozás és hiba után kitaláltam, hogyan lehet a parancsfájlt futtatni.

Ebben a cikkben megvizsgálom a beállításokat és engedélyeket, amelyeket be kell állítani ahhoz, hogy a kötegfájl manuális beavatkozás nélkül fusson.

1. lépés: Ellenőrizze a fájl / mappa engedélyeket

A probléma rögzítésének első lépése annak biztosítása, hogy a Feladatütemezőben a parancsfájl futtatásához használt fiók teljes ellenőrzési jogosultságokkal rendelkezzen a parancsfájlot tartalmazó mappában, maga a szkriptben és minden olyan mappában / fájlban, amelyet a parancsfájl fut, amikor fut.

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

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

A .BAT fájlt a Dokumentumok mappába mentettem. Az elérési út C: Felhasználók felhasználóneve Dokumentumok . Elmentem a C: Felhasználó nevére, a jobb gombbal a Dokumentumok mappára, és a Tulajdonságok gombra kattintott. Ezután rákattinttam a Biztonság fülre.

Mint látható, az Aseem felhasználói fiókot kifejezetten hozzáadták, és a teljes ellenőrzési engedélyt kapta. Most meg kell tennie ugyanezt a mappát, amely tartalmazza a szkriptet és a parancsfájlt. Ne csak azt feltételezzük, hogy ha engedélyt adsz a parancsfájlt tartalmazó mappához, akkor jó vagy, mert nem vagy. Végül állítson be engedélyeket minden olyan fájlhoz és mappához, amelyet a szkript fog használni.

Az én esetemben C: tesztre kellett mennem, a jobb egérgombbal rákattintva a mappára, és hozzá kell adnom a felhasználói fiókomat a Full Control engedélyekkel. Ez olyan bosszantó, hogy ezt meg kell tennie, de ez az egyetlen módja a parancsfájl futtatásának.

Megjegyzés : A parancsfájl futtatásához használt fióknak a számítógép helyi rendszergazdai csoportjának része kell lennie. Esetemben az Aseem-fiók rendszergazdai fiók, és ezért a helyi Rendszergazdák csoport része.

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

Most menjünk a Feladatütemezőbe, és módosítsuk a megfelelő beállításokat. Nyissa meg a Feladatütemezőt, és keresse meg a feladatát az Aktív feladatok részben. Azokat ábécé sorrendben kell felsorolni.

Kattintson rá duplán, és ugyanabban az ablakban megnyitja a feladatot. A feladat szerkesztéséhez jobb egérgombbal kell rákattintania, és válassza a Tulajdonságok lehetőséget .

Számos lap van, és pár dolgot meg kell vizsgálni és megváltoztatni. Először is, az Általános lapon ellenőrizni kell a feladat futtatásához használt felhasználói fiókot. Az én esetemben ez az Aseem- fiók, amelyet korábban engedélyeztem a fájlrendszeren, és amely a rendszergazdák csoportjának része.

Ezután ki kell választania a Futtatás lehetőséget, ha a felhasználó be van jelentkezve, vagy nem választja ki a lehetőséget, és válassza a Windows Vista, a Windows Server 2008 parancsot a Beállítás mezőben.

A Műveletek lapon ki kell választania a szkriptet, kattintson a Szerkesztés gombra, majd hozzá kell adnia a parancsfájlt tartalmazó mappa elérési útvonala a Start (választható) mezőbe. Ez feleslegesnek tűnhet, de nem. Az én esetemben a C-ben: Aseem Dokumentumok kerülnek a dobozba.

Most kattintson az OK gombra a beállítások mentéséhez. Ennek során megjelenik egy párbeszédablak, ahol meg kell adnia a feladatot futtató felhasználói fiók jelszavát. Ez újabb követelményt támaszt. Nem használhat olyan fiókot, amely nem rendelkezik jelszóval. A felhasználói fióknak jelszóval kell rendelkeznie ahhoz, hogy a feladat futhasson.

Végül a feladatot manuálisan kell futtatni a Feladatütemezőben, hogy megbizonyosodjon róla, hogy fut. Ha az összes beállítást megváltoztatta, akkor kézzel fog futni, akkor akkor kell futtatnia, amikor azt el kell indítani. Az én esetemben az induláskor történt volna, és miután elvégeztem a változtatásokat, minden jól működött.

Ne feledje, hogy ha a futtatás során a szkript egy tartományban lévő különböző számítógépekhez fér hozzá, akkor a feladat futtatásához próbálja meg használni a tartományi rendszergazdai fiókot. Ez biztosítja, hogy a fióknak elegendő joga van a távoli számítógépekhez való hozzáféréshez.

Egy másik elem, amelyet meg kell jegyezni, ha a szkript hozzáférést biztosít a hálózati megosztáshoz tartozó 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: adatok használata helyett a parancsfájlban meg kell használnia a gépnév megosztási_neve adatait . Ha még mindig nem tudja a parancsfájlt futtatni, tegyen meg egy megjegyzést, és megpróbálok segíteni. Élvez!

Top