Suositeltava, 2024

Toimituksen Valinta

Korjaa ajoitettu tehtävä ei toimi .BAT-tiedoston kohdalla

Jos sinulla on .BAT-tiedosto ja yrität saada sen toimimaan automaattisesti käyttämällä Windowsin tehtävänmääritysohjelmaa, olet ehkä joutunut ongelmaan, jossa se ei yksinkertaisesti toimi, ellet suorita tehtävää manuaalisesti.

Luin erätiedoston, joka poistaa kaiken temp-kansion sisällä, kun tietokone käynnistyy. Luin Task Schedulerissa perustavan tehtävän ja toivoin parasta. Valitettavasti mikään ei tapahtunut, kun tietokoneeni käynnistyi. Paljon koettelemuksia ja virheitä jälkeen ymmärsin, miten skripti voidaan suorittaa.

Tässä artikkelissa aion käydä läpi asetusten ja käyttöoikeuksien, joita sinun tarvitsee säätää, jotta erätiedostosi suoritetaan ilman manuaalista väliintuloa.

Vaihe 1: Tarkista tiedoston / kansion käyttöoikeudet

Ensimmäinen askel tämän ongelman korjaamisessa on varmistaa, että tilillä, jota käytät komentosarjan suorittamiseen Task Schedulerissa, on täysiohjausoikeudet skriptiä sisältävään kansioon, itse skriptiin ja kaikkiin kansioihin / tiedostoihin, joita komentosarja koskettaa, kun se toimii.

Olen esimerkiksi luonut alla olevan komentosarjan seuraavasti:

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

Tallensin .BAT-tiedoston Dokumentit-kansioon. Polku on C: Käyttäjätunnus . Kävin C: Käyttäjätunnuksella, napsautat hiiren kakkospainikkeella Dokumentit- kansiossa ja napsautat Ominaisuudet . Sitten napsautin Suojaus- välilehdessä.

Kuten näette, käyttäjätili Aseem on lisätty nimenomaisesti ja sille on annettu täyden valvonnan käyttöoikeus. Nyt sinun täytyy tehdä sama asia skriptiä ja itse skriptiä sisältävälle kansiolle. Älä vain oleta, että jos annat käyttöoikeuksia skriptiä sisältävälle kansiolle, sinun on hyvä mennä, koska et ole. Lopuksi, aseta käyttöoikeudet kaikkiin tiedostoihin ja kansioihin, joihin komentosarja toimii.

Minun täytyi mennä C: testiin, napsauta hiiren kakkospainikkeella kyseistä kansiota ja lisätä käyttäjätunnukseni siellä Full Control -oikeuksilla. Se on sellaista ärsyttävää, että sinun täytyy tehdä tämä, mutta se on ainoa tapa saada skripti ajaa.

Huomaa : Tilin, jota käytetään komentosarjan suorittamiseen, on oltava osa paikallista järjestelmänvalvojien ryhmää tietokoneessa. Minun tapauksessani Aseem-tili on järjestelmänvalvojan tili ja siten osa paikallista järjestelmänvalvojien ryhmää.

Vaihe 2: Tarkista tehtävien ajoitusasetukset

Nyt siirrytään Task Scheduler -ohjelmaan ja vaihda siihen tarvittavat asetukset. Avaa Tehtäväaikataulu ja etsi tehtäväsi Aktiiviset tehtävät -osiosta. Ne on lueteltava aakkosjärjestyksessä.

Kaksoisnapsauta sitä ja se avaa tehtävän itse samassa ikkunassa. Voit muokata tehtävää napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla Ominaisuudet .

On olemassa useita välilehtiä ja pari asiaa on tarkistettava ja muutettava täällä. Ensinnäkin, Yleistä- välilehdessä on tarkistettava käyttäjän tili, jota käytetään tehtävän suorittamiseen. Minun tapauksessani se on Aseem- tili, jonka olin antanut aikaisemmin tiedostojärjestelmälle ja joka on osa järjestelmänvalvojien ryhmää.

Seuraavaksi sinun on valittava Suorita, onko käyttäjä kirjautunut tai ei ole valittuna, ja valitse Määritä- ruutuun Windows Vista, Windows Server 2008 .

Toiminnot- välilehdessä on valittava komentosarja, napsauttamalla Muokkaa ja sitten lisäämään polun kansioon, joka sisältää komentosarjan Käynnistä (valinnainen) -ruutuun. Tämä saattaa tuntua tarpeettomalta, mutta se ei ole. Minun tapauksessani panin ruutuun C: käyttäjät Aseem-asiakirjat .

Tallenna asetukset napsauttamalla OK . Kun teet tämän, näyttöön saattaa tulla valintaikkuna, jossa sinun on annettava salasana, joka on tehtävä sen suorittavan käyttäjätilin kohdalla. Tämä tuo esiin toisen vaatimuksen. Et voi käyttää tiliä, jolla ei ole salasanaa. Käyttäjätilillä on oltava salasana, jotta tehtävä voidaan suorittaa.

Lopuksi, sinun pitäisi suorittaa tehtävä manuaalisesti kerran Task Schedulerissa varmistaaksesi, että se toimii. Jos se toimii hyvin manuaalisesti, kun olet muuttanut kaikki asetukset, sen pitäisi ajaa, kun se on tarkoitus käynnistää. Minun tapauksessa minun piti tapahtua käynnistyksen yhteydessä ja sen jälkeen kun muutokset tehtiin, kaikki toimi hyvin.

Huomaa, että jos skripti käyttää eri tietokoneita verkkotunnuksessa, kun se suoritetaan, sinun on yritettävä käyttää toimialueen järjestelmänvalvojan tiliä. Näin varmistetaan, että tilillä on riittävästi oikeuksia käyttääksesi etätietokoneita.

Toinen huomautettava kohde on, jos skripti käyttää resursseja verkko-osiossa. Jos skripti käyttää kirjaimia päästäksesi verkkoon, se ei ehkä toimi. Esimerkiksi F: datan käyttämisen sijaan sinun pitäisi käyttää komentosarjassa koneen nimeä Share_name-tietoja . Jos et vieläkään pysty antamaan komentosarjaasi, lähetä kommentti tähän ja yritän auttaa. Nauttia!

Top