Ha van egy .BAT fájlja, és a Windows Task Scheduler alkalmazásával automatikusan elindítja a futtatását, előfordulhat, hogy bejutott a problémába, ha egyszerűen nem fut, hacsak manuálisan nem futtatod a feladatot.
Készítettem egy kötegelt fájlt, amely minden alkalommal törli a temp mappában lévő összes fájlt, amikor a számítógép elindul. Alapvető feladatot készítettem a Feladatütemezőben, és reméltem a legjobbakat. Sajnos, semmi sem történt, amikor a számítógépem elindult. Számos próba és hiba után rájöttem, hogyan kell futtatni a szkriptet.
Ebben a cikkben meglátogatom azokat a beállításokat és engedélyeket, amelyeket be kell állítania ahhoz, hogy a kézi beavatkozás nélkül futtathatja a kötegelt fájlt.
1. lépés: Fájl / mappák engedélyeinek ellenőrzése
A probléma megoldásának első lépése annak biztosítása, hogy a szkript futtatásához használt fiók a Feladatütemező teljes joggal rendelkezik a parancsfájlt tartalmazó mappában, a szkriptben és a mappákban / fájlokban, amelyekkel a szkript megérinti futása közben.
Például a következő batch scriptet 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 fájlt a Dokumentumok mappába mentettem. Az elérési út C: \ Felhasználók \ felhasználónév \ Dokumentumok. A C: \ Users \ felhasználónévhez mentem, rögtön rákattintottam a Dokumentumokmappára, és rákattintottam a Tulajdonságokelemre. Aztán rákattintottam a Biztonságfülre.
/ strong>kifejezetten hozzá lett adva, és a Teljes ellenőrzésengedélyt kapta. Most ugyanezt kell tenni a mappához, amely tartalmazza a szkriptet és maga a szkriptet. Ne csak feltételezzük, hogy ha engedélyezi a forgatókönyvet tartalmazó mappát, akkor jó vagy, mert nem vagy. Végül állítsd be a fájlok és mappák engedélyeit, amelyekkel a szkript kölcsönhatásba kerül.
Az én esetemben a C: \ testés hozzáadja a felhasználói fiókomat a teljes jogosultsággal. Ez olyan bosszantó, hogy ezt meg kell tennie, de ez az egyetlen módja annak, hogy a szkript futtatható legyen.
Megjegyzés: A fiók, a szkriptnek a helyi Rendszergazdákcsoport részét kell képeznie. Az én esetemben az Aseem-fiók rendszergazdai fiók, és ezért a helyi Adminisztrátorok csoport része.
2. lépés: A Feladatütemező beállításainak ellenőrzése
Most menjünk a Feladatütemezőbe, és változtassuk meg a megfelelő beállításokat. Nyissa meg a Feladatütemezőt, és keresse meg feladatát az Aktív feladatokszakaszban. Ezek listázása abc sorrendben történik.
Kattintson duplán rá, és a feladat ugyanabban az ablakban nyílik meg. A feladat szerkesztéséhez kattintson a jobb egérgombbal, és válassza a Tulajdonságoklehetőséget.
Számos lap van és néhány dolgot meg kell vizsgálni és megváltoztatni. Először is, a Általánoslapon ellenőriznie kell a feladatot futtató felhasználói fiókot. Az én esetemben ez az Aseemfiók, amelyet korábban engedélyeztek a fájlrendszeren, és amely a számítógép Administrators csoportjának része.
Ezután be kell választania a Futtatnia kell, hogy a felhasználó bejelentkezett-e vagy sem, és válassza a Windows Vista, Szerver 2008a Konfigurálásnégyzeten
A >lapot, ki kell választania a szkriptet, kattints a Szerkesztésgombra, majd az e Start in (opcionális)mezőben adja hozzá a szkriptet tartalmazó mappába. Ez szükségtelen lehet, de nem. Az én esetemben feltettem a C: \ Users \ Aseem \ Documents \mezőbe.
Most kattints az OKgombra a beállítások mentéséhez. Ha ezt megteszi, egy párbeszédablak jelenhet meg, ahol meg kell adnia a feladat futtatásához szükséges 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 rendelkeznie kell egy jelszóval a feladat futtatásához.
Végül a feladatot manuálisan kell futtatni a Feladatütemezőben hogy meggyőződjön róla, hogy fut. Ha az összes beállítás megváltoztatása után manuálisan fut, akkor futnia kell, amikor azt el kell indítani. Az én esetemben ez megtörtént az indításkor, és miután elvégeztem a változtatásokat, minden jól működött.
ha a futtatás során különböző tartományi számítógépekről érkezik, akkor próbálja meg használni a tartományi rendszergazdai fiókot a feladat futtatásához. Ez biztosítja, hogy a fióknak elegendő jogosultsága van a távoli számítógépek eléréséhez.
Egy másik megjegyzés, ha a parancsfájl a hálózati megosztás erőforrásaihoz fér hozzá. Ha a szkript leveleket használ a hálózat eléréséhez, előfordulhat, hogy nem fut. Például az F: \ data \használata helyett a parancsfájlban \\ machinename \ share_name \ data \. Ha még mindig nem tudja elérni a szkriptet, írjon meg egy megjegyzést, és megpróbálok segíteni. Enjoy!