Voer een batchbestand uit met de Windows-taakplanner

Ik heb een batchbestand daily.bat, dit is de code:

cd C:\inetpub\wwwroot\infoweb\factuur\cron
c:\PHP\php.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be

En ik heb een taak gemaakt met taakplanner in Windows 7. Als ik de batch handmatig uitvoer, gaat alles goed, maar als ik het probeer uit te voeren met de taakplanner, gebeurt er niets.

Mijn actie is

'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"

UAC is uitgeschakeld en ik ben beheerder.

Enig idee waarom dit niet werkt?


Antwoord 1, autoriteit 100%

Ik had hetzelfde probleem, maar ik vond een andere oplossing zonder mijn batchscript te hoeven wijzigen.

Het enige dat ik heb gemist, is de optie ‘Actie’ – ‘Start in (optioneel)’.

Ga naar de taakeigenschappen –> Tabblad Actie –> Bewerken –> Vul zoals hieronder:

  1. Actie: een programma starten
  2. Programma/script: pad naar uw batchscript, b.v. C:\Users\beruk\bodo.bat
  3. Argumenten toevoegen (optioneel): <indien nodig – afhankelijk van uw script>
  4. Start in (optioneel): geef het volledige pad naar de locatie van uw batchscript op, b.v. C:\Users\beruk\(Zet geen aanhalingstekens rond Start In)

Klik vervolgens op OK

Het werkt voor mij. Veel succes!


Antwoord 2, autoriteit 19%

Geen van de bovenstaande methoden werkte. Ik heb het op deze manier geprobeerd, zoals het in een tutorial werd gezegd en het werkte.

Actie:

Start a program 

Programma/script:

cmd

Argumenten toevoegen:

/c start "" "E:\Django-1.4.1\setup.bat"

Werkte voor mij op Win7 Pro. Je moet een account hebben met een wachtwoord (lege wachtwoorden zijn niet goed)


Antwoord 3, autoriteit 15%

Voor degenen wiens bat-bestanden nog steeds niet werkenin Windows 8+ Taakplanner , één ding zou ik willen toevoegen aan het antwoord van Ghazi – na veel lijden:

1) Kies onder Acties “Maak BASIStaak”, niet “Taak maken”

Dat deed het voor mij, plus de andere zaken om niet te vergeten:

  1. Gebruik het pad Start Innaar uw batchbestand, ook al staat er optioneel
  2. gebruik indien nodig aanhalingstekensin uw programma Een programma starten > programma-/scriptinvoer, bijv. “C:\my scripts\runme.bat” …
  3. MAAR GEBRUIK GEEN aanhalingstekensin uw Start in-veld. (Gek maar waar!)

Dit werkte zonder dat er een opdrachtprompt moest worden geactiveerd.

(Sorry mijn vertegenwoordiger is te laag om mijn basistaaktip toe te voegen aan de opmerkingen van Ghazi)


Antwoord 4, autoriteit 7%

Zorg ervoor dat “Begin in”GEEN QUOTES heeft.


Antwoord 5, autoriteit 2%

Het werkt nu. Dit is wat ik deed. Je hebt waarschijnlijk niet al deze stappen nodig om het te laten werken, maar probeer ze voor de zekerheid allemaal:

  • Controleer de accountparameters van uw geplande taak en zorg ervoor dat ze zijn ingesteld om te worden uitgevoerd, ongeacht of iemand op de computer is ingelogd

  • controle uitvoeren met de meeste privileges/rechten

  • Zorg ervoor dat u eerst naar het volledige pad gaat: cd C:\inetpub\wwwroot\infoweb\factuur\cron

  • Gebruik geen dubbele aanhalingstekens in uw batchbestanden (weet niet waarom, maar lijkt te helpen)

  • Wees superbeheerder, voer ‘Net user administrator /active:yes’ in bij de opdrachtprompt, log uit en log in als de superbeheerder, dus UAC is uitgeschakeld


Antwoord 6, autoriteit 2%

Zorg ervoor dat ‘Start In’NIET eindigt met een BACKSLASH.


Antwoord 7, autoriteit 2%

Had een probleem waarbij mijn taak niet vuurt, gewoon omdat het op een laptop draaide zonder een netsnoer … onder het tabblad Voorwaarden, is het standaard gecontroleerd dat een taak niet wordt uitgevoerd terwijl AC-stroom niet is aangesloten .


Antwoord 8

Onder Windows7 Pro, vond ik dat Arun’s oplossing voor mij werkte: ik zou dit kunnen laten werken, zelfs met “Geen gebruiker ingelogd”, ik heb de hoogste priveledges gekozen.

Van uit eerdere ervaring, moet u een account hebben met een wachtwoord (blanco wachtwoorden zijn niet goed) en als het programma u niet vraagt ​​om het wachtwoord wanneer u de wizard voltooit, gaat u terug en bewerkt u iets tot het doet !

Dit is de methode voor het geval het niet duidelijk is, wat

heeft gewerkt

Action: start a program
Program/script : cmd
      (doesn't need the .exe bit!)
Add arguments:
    /c start "" "E:\Django-1.4.1\setup.bat" 

Antwoord 9

Ik heb hier enkele uren met genood en probeerde veel verschillende suggesties.

Ik heb het eindelijk aan het werk door het volgende te doen:

Actie: start een programma

Programma / script: c: \ scriptdir \ script.bat

ADD ARGUSSEN (OPTIONEEL) script.bat

Start in (optioneel): C: \ scriptdir

RUN ALLEEN Wanneer gebruiker is ingelogd

Uitvoeren met de hoogste privileges

Configureren voor: Windows Vista, Windows Server 2008


Antwoord 10

Als alle rest mislukt, zorg er dan voor dat de gebruiker u probeert de taak uit te voeren, zoals toegang heeft tot het bestand dat u probeert te gebruiken.

In mijn geval probeerde ik een batchbestand uit C: \ gebruikers \ Administrator \ Desktop te draaien waar het account geen toegang kon krijgen. Het verplaatsen naar een neutrale locatie op C: \ opgelost het probleem.


Antwoord 11

Ik post het antwoord op deze vraag hier en hier .


Antwoord 12

Controleer welke gebruikersaccount u gebruikt om onze taak uit te voeren. Het kan gebeuren dat u uw taak uitvoert met verschillende gebruiker, dan uw standaardgebruiker, en deze gebruiker heeft wat extra privileges nodig.
Ook kan het gebeuren dat de taak wordt uitgevoerd, maar u kunt geen effect zien omdat het batchbestand wacht op een reactie van de gebruiker, dus controleer Taakbeheer als u uw proces gebruikt.
Zodra het gebeurt dat ik een batch plant met SVN-update van een webpagina en het proces hangt aan omdat SVN vroeg om servercertificaat te accepteren.


Antwoord 13

  1. Gebruik geen dubbele aanhalingstekens in uw CMD / Batch-bestand
  2. Zorg ervoor dat u naar het volledige pad gaat Start in (optioneel) :
    C: \ noodzakelijk_file \ reqular_task \ qde \ cmd_Practice \


Antwoord 14

De knop RUN gebruiken in het hoofdvenster Taakplanner om verschillende variaties te testen, vond uiteindelijk de juiste instellingen. Deze twee opties moeten worden gecombineerd:
-Run alleen wanneer de gebruiker is aangemeld
-Run met hoogste privileges.
Alle andere variaties mislukten. Het is het woedend dat het allemaal verspild is, maar het werkt tenminste.
OS: Windows 8 Core (BASIC) -versie


Antwoord 15

Probeer de taak uit te voeren met hoge privileges.

zet een \ aan het einde van het pad in “start in map” zoals c:\temp\

Ik weet niet waarom, maar dit werkt soms voor mij.


Antwoord 16

Actie: Start a Program

Programma/script: C:\Windows\System32\cmd.exe

Argumenten toevoegen: /k start "" "E:\scripts\example.bat"

Voeg exittoe aan het einde van uw batchbestand.

Het cmd-venster wordt nietweergegeven als u Run whether user is logged in or not. U moet Run only when user is logged onselecteren om het venster in actie te zien.


Antwoord 17




Mijn script was om de laatste code van de master te halen en een nieuwe branch te publiceren

cd D:\dev\repo
git checkout master
git pull
git branch -D my-branch
git push origin --delete my-branch
git checkout -b my-branch
git push -u origin my-branch
exit

Other episodes