Ich habe eine Batch-Datei daily.bat, dies ist der Code:
cd C:\inetpub\wwwroot\infoweb\factuur\cron
c:\PHP\php.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be
Und ich habe eine Aufgabe mit dem Taskplaner in Windows 7 erstellt. Wenn ich den Stapel manuell ausführe, läuft alles gut, aber wenn ich versuche, ihn mit dem Taskplaner auszuführen, passiert nichts.
Meine Aktion ist
'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"
UAC ist aus und ich bin Admin.
Irgendeine Idee, warum das nicht funktioniert?
Ich hatte das gleiche Problem, aber ich fand eine andere Lösung, ohne mein Batch-Skript ändern zu müssen.
Das einzige, was ich verpasst habe, ist die Option "Aktion" - Option "Start in (optional)".
Gehen Sie zu den Task-Eigenschaften -> Aktion -> Bearbeiten -> Füllen Sie wie folgt:
C:\Users\beruk\bodo.bat
C:\Users\beruk\
(Keine Anführungszeichen um Start In setzen)Klicken Sie dann auf OK
Für mich geht das. Viel Glück!
Keine der oben genannten Methoden hat funktioniert. Ich habe es so ausprobiert, wie es in einem Tutorial gesagt wurde, und es hat funktioniert.
Aktion: Starten Sie ein Programm
Programm/Skript: cmd
Argumente hinzufügen:/c start "" "E:\Django-1.4.1\setup.bat"
Arbeitete für mich an Win7 Pro. Sie müssen ein Konto mit einem Kennwort haben (leere Kennwörter sind nicht geeignet).
Für diejenigen, deren Bat-Dateien in Taskplaner mit Windows 8+ noch nicht funktionieren []], möchte ich eine Antwort auf Ghazis Antwort hinzufügen - nach langem Leiden:
1) Wählen Sie unter Aktionen "ErstellenGRUNDLEGENDEAufgabe" und nicht "Aufgabe erstellen".
Das hat es für mich getan, und die anderen Themen nicht zu vergessen:
Dies funktionierte, ohne dass eine Eingabeaufforderung ausgelöst werden musste.
(Entschuldigung, meine Vertretung ist zu niedrig, um Ghazis Kommentar mit meinem Tipp zu grundlegenden Aufgaben zu versehen.)
Stellen Sie sicher, dass "Start In" KEINE ANGEBOTE hat.
Es funktioniert jetzt. Das habe ich getan. Sie werden wahrscheinlich nicht alle diese Schritte benötigen, damit es funktioniert, aber probieren Sie es einfach aus:
Überprüfen Sie die Kontoparameter Ihrer geplanten Aufgabe und stellen Sie sicher, dass sie ausgeführt werden, unabhängig davon, ob jemand an der Maschine angemeldet ist
check run mit den meisten Privilegien/Rechten
Gehen Sie zuerst auf den vollständigen Pfad: cd C:\inetpub\wwwroot\infoweb\factuur\cron
Verwenden Sie keine doppelten Anführungszeichen in Ihren Batchdateien (weiß nicht warum, scheint aber zu helfen)
Geben Sie in der Eingabeaufforderung "Net User administrator/active: yes" ein, melden Sie sich ab und melden Sie sich als Super-Admin an. Die Benutzerkontensteuerung ist deaktiviert
Hatte ein Problem, bei dem meine Aufgabe nicht einfach ausgelöst wurde, weil sie auf einem Laptop ohne Netzkabel ausgeführt wurde ... Unter der Registerkarte "Bedingungen" wird standardmäßig geprüft, dass eine Aufgabe nicht ausgeführt wird, wenn keine Wechselstromversorgung angeschlossen ist.
Ich habe mich mehrere Stunden damit beschäftigt und viele verschiedene Vorschläge ausprobiert.
Ich habe es endlich geschafft, indem ich Folgendes getan habe:
Aktion: Starten Sie ein Programm
Programm/Skript: C:\scriptdir\script.bat
Argumente hinzufügen (optional) script.bat
Starten Sie in (optional): c:\scriptdir
nur ausführen, wenn der Benutzer angemeldet ist
mit höchsten Privilegien laufen
konfigurieren für: Windows Vista, Windows Server 2008
Unter Windows7 Pro habe ich festgestellt, dass die Lösung von Arun für mich funktionierte: Ich könnte dies auch mit "Kein Benutzer angemeldet" erreichen, ich entschied mich jedoch für die Verwendung höchster Zugriffsrechte.
Erfahrungsgemäß müssen Sie über ein Konto mit einem Kennwort verfügen (leere Kennwörter sind nicht gut). Wenn das Programm Sie nach Abschluss des Assistenten nicht zur Eingabe des Kennworts auffordert, gehen Sie zurück und bearbeiten Sie etwas, bis es funktioniert!
Dies ist die Methode, falls nicht klar ist, was funktioniert
Action: start a program
Program/script : cmd
(doesn't need the .exe bit!)
Add arguments:
/c start "" "E:\Django-1.4.1\setup.bat"
Stellen Sie sicher, dass "Start In" NICHT mit einem BACKSLASH endet.
Wenn der Rest für Sie fehlschlägt, stellen Sie sicher, dass der Benutzer, den Sie als Task ausführen möchten, Zugriff auf die Datei hat, die Sie verwenden möchten.
In meinem Fall habe ich versucht, eine Batchdatei unter C:\Users\Administrator\Desktop auszuführen, auf die das Konto nicht zugreifen konnte. Durch Verschieben an eine neutrale Position unter C:\wurde das Problem behoben.
Bitte überprüfen Sie, mit welchem Benutzerkonto Sie unsere Aufgabe ausführen. Es kann vorkommen, dass Sie Ihre Aufgabe mit einem anderen Benutzer als dem Standardbenutzer ausführen, und dieser Benutzer benötigt einige zusätzliche Berechtigungen .. Außerdem kann es vorkommen, dass die Aufgabe ausgeführt wird, Sie jedoch keine Auswirkungen erkennen können, da die Batchdatei auf einen Benutzer wartet Bitte überprüfen Sie daher den Task-Manager, wenn Ihr Prozess läuft. Wenn es vorkommt, dass ich einen Stapel mit einem svn-Update einer Webseite plane, wird der Prozess hängen, da svn nach dem Akzeptieren des Serverzertifikats gefragt hat.
Wenn Sie die Schaltfläche Ausführen im Hauptfenster des Taskplaners verwenden, um mehrere Variationen zu testen, wurden die korrekten Einstellungen gefunden. Diese beiden Optionen müssen kombiniert werden: - Nur ausführen, wenn der Benutzer angemeldet ist - Mit höchsten Berechtigungen ausführen . Alle anderen Variationen sind fehlgeschlagen. Es ist ärgerlich die ganze Zeit, die damit verschwendet wird, aber es funktioniert zumindest. OS: WINDOWS 8 CORE (BASIC) -Version
Führen Sie die Aufgabe mit hohen Berechtigungen aus.
fügen Sie ein\am Ende des Pfads in "Start in Ordner" ein, z.
Ich weiß nicht warum, aber das funktioniert manchmal für mich.