J'ai une tâche planifiée sur un serveur Windows 2008 R2. La tâche comprend une entrée de répertoire Démarrer dans. La tâche s'exécute et le fichier de commandes qu'il exécute fait ce qu'elle est censée faire. Lorsque j'exécute le fichier de commandes à partir d'une invite de commande, aucune erreur ne se produit. Le problème est que le "résultat de la dernière exécution" est 0x1
(appel de fonction incorrect).
J'ai eu cela à un moment donné avec une instruction DOS incorrecte IF EXISTS file.txt DO (Copy file.txt file1.txt)
qui a été corrigée en supprimant l'instruction DO
. Le fichier de commandes actuel ne montre aucune erreur ni aucun avertissement.
Pourquoi ai-je un résultat 0x1
?
Fichier de commandes qui est exécuté:
PUSHD \\JUKEBOX4\Archives\CallRecording
REM only move csv and wma together. wma should be created last.
IF NOT EXIST C:\CallRecording (MKDIR C:\CallRecording)
FOR /f %%f IN ('DIR /b *.wma') DO (
IF EXIST %%~nf.csv (MOVE /Y %%~nf.* C:\CallRecording\)
)
POPD
CD /D "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload"
CollybusUpload.exe
POPD
Informations sur la configuration de la tâche planifiée:
C:\Program Files (x86)\Olim, LLC\Collybus DR Upload\CallRecordingUploadFromH.cmd
C:\Program Files (x86)\Olim, LLC\Collybus DR Upload
Écran d'historique, entrée de tâche terminée
"Le planificateur de tâches a terminé avec succès la tâche"\Envoi d'enregistrements d'appels au portail depuis NH ", instance" {1449ad42-2210-427a-bd69-2c15e35340e6} ", action" C:\Windows\SYSTEM32\cmd.exe "avec le code retour 1. "
Le premier écran du Planificateur de tâches affiche le "résultat de l'exécution" de "Succès"
Il semble que de nombreux utilisateurs ont des problèmes avec cela. Voici quelques corrections:
Faites un clic droit sur votre tâche> "Propriétés"> "Actions"> "Modifier" | Mettez UNIQUEMENT le nom du fichier sous 'Programme/Script', sans guillemets et SEULEMENT le répertoire sous 'Démarrer dans' comme décrit, encore une fois sans guillemets.
Faites un clic droit sur votre tâche> "Propriétés"> "Général" | Testez avec tout ou partie des éléments suivants:
J'ai eu le même problème. Il ne s'agit que d'un fichier de commandes qui fonctionne au démarrage manuel, mais ne fonctionne pas comme une tâche planifiée.
il y avait des lettres de lecteur dans le fichier batch comme ceci:
put z:\folder\file.ext
semble que vous ne devriez pas utiliser de lettres de lecteur, elles sont liées à l'utilisateur qui les a créées - pour moi, ce petit changement l'a fait fonctionner à nouveau
put \\server\folder\file.ext
J'ai constaté que j'ai coché "Exécuter si l'utilisateur est connecté ou non" et cela renvoie un échec silencieux.
Quand j'ai changé, cochez "Exécuter uniquement lorsque l'utilisateur est connecté" mais cela fonctionne pour moi.
Cette réponse a été à l'origine modifiée dans la question par le demandeur.
Le problème était que le fichier batch produisait une erreur silencieuse. Le POPD final ne fonctionnait pas et était appelé à tort sans ouverture PUSHD.
Code cassé:
CD /D "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload" CALL CollybusUpload.exe POPD
Code correct:
PUSHD "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload" CALL CollybusUpload.exe POPD
Sur nos serveurs, le problème était lié au chemin du système. Après la mise à niveau de PHP runtime (à l'aide du répertoire d'installation dont le nom comprend le numéro de version) et la mise à jour du chemin dans la variable système PATH
, nous avons obtenu le statut 0x1
. Le redémarrage du système a corrigé le problème. Redémarrer le service Task Manager
l’aurait peut-être fait aussi.
Planificateur de tâches Windows (serveur Windows 2008r2)
Même erreur pour moi (résultat de la dernière exécution: 0x1)
Onglets
programme/script
et
commencer dans
même s'il y a des espaces dans le nom du chemin ...
Courir avec les plus hauts privilèges
et
configurer pour votre système d'exploitation ...
Maintenant ça marche!
résultat de la dernière exécution: l'opération s'est terminée avec succès
J'exécutais un script PowerShell dans le planificateur de tâches, mais j'avais oublié d'activer la stratégie d'exécution sans restriction, dans une console PowerShell élevée:
Set-ExecutionPolicy Unrestricted
Après cela, l'erreur a disparu (0x1).
J’ai trouvé que le problème tenait au fait que Powershell ne pouvait pas exécuter de scripts, si c’était le cas pour vous, ici est la solution.