Rette planlagt opgave vil ikke køre for .BAT-fil

Hvis du har en .BAT-fil, og du forsøger at få den til at køre automatisk ved hjælp af Task Scheduler i Windows , er du muligvis stødt på problemet, hvor den simpelthen ikke kører, medmindre du manuelt kører opgaven.

Jeg oprettede en batch-fil, der sletter alt i en midlertidig mappe, når computeren starter op. Jeg lavede en grundlæggende opgave i Task Scheduler og håbede på det bedste. Desværre skete der ikke noget, da min computer startede op. Efter en masse forsøg og fejl fandt jeg ud af, hvordan man får scriptet til at køre.

I denne artikel vil jeg lede dig gennem de indstillinger og tilladelser, du skal justere for at få din batchfil til at køre uden manuel indgriben.

Trin 1: Tjek File/Folder mappetilladelser

Det første trin til at løse dette problem er at sikre, at den konto, du bruger til at køre scriptet i Task Scheduler , har fuld kontrol(Full Control) -tilladelser på mappen, der indeholder scriptet, selve scriptet og eventuelle mapper/filer, som scriptet berører, når det kører.

For eksempel oprettede jeg følgende batchscript nedenfor:

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

Jeg gemte .BAT -filen i mappen Dokumenter. Stien er C:\Users\username\Documents . Jeg gik til C:\Users\brugernavn, højreklikkede på mappen Dokumenter(Documents) og klikkede på Egenskaber(Properties) . Derefter klikkede jeg på fanen Sikkerhed(Security) .

Som du kan se, er brugerkontoen Aseem eksplicit blevet tilføjet og givet fuld kontroltilladelse.(Full Control) Nu skal du gøre det samme for mappen, der indeholder scriptet, og for selve scriptet. Du skal ikke bare antage, at hvis du giver tilladelser til mappen, der indeholder scriptet, er du god til at gå, for det er du ikke. Til sidst skal du indstille tilladelser til alle filer og mapper, som scriptet vil interagere med.

I mit tilfælde var jeg nødt til at gå til C:\test , højreklikke på den mappe og tilføje min brugerkonto der med fuld kontroltilladelse(Full Control) . Det er lidt irriterende, at du skal gøre dette, men det er den eneste måde at få scriptet til at køre på.

Bemærk: Den konto, der bruges til at køre scriptet, skal være en del af den lokale administratorgruppe på computeren. I mit tilfælde er Aseem-kontoen en administratorkonto og derfor en del af den lokale administratorgruppe. (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. )

Trin 2: Tjek indstillingerne for opgaveplanlægning(Task Scheduler Settings)

Lad os nu gå til Task Scheduler og ændre de relevante indstillinger der. Åbn Task Scheduler og find din opgave under sektionen Aktive opgaver( Active Tasks) . De skal være opført i alfabetisk rækkefølge.

Dobbeltklik på det, og det åbner opgaven af ​​sig selv i det samme vindue. For at redigere opgaven skal du højreklikke på den og vælge Egenskaber(Properties) .

Der er flere faner, og et par ting skal kontrolleres og ændres her. For det første skal du på fanen Generelt(General) kontrollere den brugerkonto, der bruges til at køre opgaven. I mit tilfælde er det Aseem- kontoen, som jeg havde givet tilladelser til tidligere på filsystemet, og som er en del af administratorgruppen(Administrators) på computeren.

Dernæst skal du vælge Kør, om brugeren er logget på eller ej( Run whether user is logged on or not) , og vælge Windows Vista, Windows Server 2008 i feltet Konfigurer til(Configure for) .

På fanen Handlinger(Actions) skal du vælge scriptet, klikke på Rediger(Edit) og derefter tilføje stien til mappen, der indeholder scriptet i boksen Start i (valgfrit)(e Start in (optional)) . Dette kan virke unødvendigt, men det er det ikke. I mit tilfælde lægger jeg C:\Users\Aseem\Documents\ i boksen.

Klik nu på OK for at gemme indstillingerne. Når du gør dette, vises der muligvis en dialogboks, hvor du skal indtaste adgangskoden til den brugerkonto, der skal køre opgaven. Dette rejser et andet krav. Du kan ikke bruge en konto, der ikke har en adgangskode. Brugerkontoen skal have en adgangskode for at opgaven kan køre.

Til sidst bør du køre opgaven manuelt én gang i Task Scheduler for at sikre, at den kører. Hvis det kører fint manuelt, efter at du har ændret alle indstillinger, skal det køre, når det skal udløses. I mit tilfælde skulle det ske ved opstart, og efter jeg lavede ændringerne, fungerede alt fint.

Bemærk, at hvis dit script har adgang til forskellige computere i et domæne, når det køres, skal du prøve at bruge domæneadministratorkontoen til at køre opgaven. Dette sikrer, at kontoen har nok tilladelser til at få adgang til fjerncomputere.

Et andet punkt at bemærke er, hvis dit script får adgang til ressourcer på en netværksshare. Hvis dit script bruger bogstaver til at få adgang til netværket, kører det muligvis ikke. For eksempel, i stedet for at bruge F:\data\ , skal du bruge \\machinename\share_name\data\ Â i scriptet. Hvis du stadig ikke kan få dit script til at køre, så skriv en kommentar her, så skal jeg prøve at hjælpe. God fornøjelse!



About the author

"Jeg er freelance-ekspert i Windows og Office. Jeg har over 10 års erfaring med at arbejde med disse værktøjer og kan hjælpe dig med at få mest muligt ud af dem. Mine færdigheder omfatter: at arbejde med Microsoft Word, Excel, PowerPoint og Outlook; skabe web sider og applikationer; og hjælpe kunder med at nå deres forretningsmål."



Related posts