Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Salut tout le monde,
J'essaie d'exécuter automatiquement le fichier de commandes tous les jours lorsque bouton radio - "exécuter si l'utilisateur est connecté ou non" est sélectionné et ça ne marche pas.
Cela ne fonctionne que lorsque bouton radio "exécuter avec l'utilisateur connecté" est sélectionné.
Pouvez-vous conseiller s'il vous plaît?
Merci
Conception d'expériencesles fenêtresRe : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Salut @Botzal ,
Je ne sais pas ce que vous essayez de faire avec les fichiers cmd et jmp exécutés en même temps.
Je peux exécuter mon script lors de la déconnexion/de la connexion de l'utilisateur à un moment précis sous le flux ;
-> Le planificateur de tâches exécute mon script JSL exécuté à une heure précise
-> le script .jmp ouvre un fichier cmd (pour que le service informatique copie/colle les résultats JMP du PC local vers le serveur intranet)
//call IT cmd to copy the files to intranet server
RP = run program(
Executable ("C:\ScriptJMPAutomation\MoveJMPFile.exe")
);
//set no save for auto taskscheduler
exit(nosave);-> Le fichier .cmd se ferme après l'exécution de son script et la sortie du fichier .jmp sans sauvegarde.
Le planificateur de tâches .jmp affichera toujours une durée illimitée si je clique dessus pour une exécution manuelle via le planificateur de tâches.
Je l'ai donc forcé à s'arrêter après 1 heure via le paramètre du planificateur de tâches.

Peut vérifier les résultats après "1 heure" effectuée. Il apparaîtra comme "prêt".
Mon rapport est prêt à être visualisé le lendemain matin même si le PC est déconnecté pendant l'exécution du script.
Je ne sais pas si cela est utile, mais juste pour partager comment je l'ai fait.
Peut-être que vous pouvez également lire le lien ci-dessous pour plus de détails.
https://docplayer.net/48888365-Syntax-overview-let-s-start-with-the-syntax-of-run-program.html
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Vous pouvez ajouter des actions dans l'aide de votre script pour vous diriger vers les parties de votre script qui ne fonctionnent pas. Par exemple, vous pouvez ajouter des lignes comme celle-ci tout au long de votre script :
Save Text File( "$TEMP/RunStatus - Finished defining functions.txt", "")
Save Text File( "$TEMP/RunStatus - Starting to download data.txt", "")
Save Text File( "$TEMP/RunStatus - Downloading data and starting transformations.txt", "")
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Salut @ih ,
J'ai pu exécuter ce qui précède simple script automatiquement lorsque le bouton "Exécuter que l'utilisateur soit connecté ou non" a été sélectionné.
La solution pour l'exécuter - j'ai ajouté /k dans le planificateur de tâches - voir ci-dessous.

Mais lorsque j'essaie d'exécuter un script compliqué (extraire des données du serveur et enregistrer la sortie sur le serveur), cela ne fonctionne toujours pas - il est bloqué sur l'état d'exécution. un conseil svp ?
Merci
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Correct.
Le script s'exécute et génère une sortie lorsque l'option "Exécuter uniquement lorsque l'utilisateur est connecté" est sélectionnée,
et cela ne fonctionne pas lorsque "Exécuter si l'utilisateur est connecté ou non" est sélectionné.
Dans les deux options, je démarre la tâche manuellement.
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Pour clarifier, lorsque vous dites que cela ne fonctionne pas, cela signifie-t-il que le fichier EST créé lorsque la tâche est configurée pour s'exécuter lorsque l'utilisateur est connecté et que vous démarrez manuellement la tâche, et qu'il n'est PAS créé lorsqu'il est configuré pour s'exécuter, que l'utilisateur soit connecté ou non et que vous démarrez manuellement la tâche ?
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?@jthi ,
bien sûr, j'ai ajouté au script... ne fonctionne pas.
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Ajouter
Exit(No save);
ou
Quit(No save);
à la fin du script jsl que vous essayez d'exécuter pour fermer l'instance JMP
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?@ih
J'ai essayé de le faire, ça ne marche pas
Il ouvre également un processus CMD et JMP (dans le gestionnaire de tâches) et il est bloqué sur l'état d'exécution.
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Depuis que JMP a commencé, je me concentrerais sur votre script.Peut-être commencer par quelque chose de très simple comme ce qui est ci-dessous.N'oubliez pas que toutes vos sorties doivent être écrites dans un fichier, vous n'aurez accès à aucune fenêtre ou rapport ouvert par votre script.
Exécutez-le d'abord de manière interactive et assurez-vous que vous avez accès pour écrire dans le fichier, puis supprimez le fichier csv et essayez de l'exécuter via le planificateur de tâches :
//!
dt = New Table( "Untitled",
Add Rows( 1 ),
New Column( "test", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1] ) )
);
dt << Save As( "C:/test.csv" )
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Salut @ih ,
Lorsque j'essaie de l'exécuter manuellement, il ouvre un processus CMD et JMP (dans le gestionnaire de tâches) et il est bloqué sur l'état d'exécution.
De plus, j'ai essayé de tout décocher dans l'onglet condition, cela ne fonctionnait toujours pas.
Avez-vous d'autres conseils s'il vous plait ?
Merci


Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Que se passe-t-il lorsque vous essayez de démarrer manuellement la tâche avec la case "exécuter si l'utilisateur est connecté ou non" cochée.Affiche-t-il une erreur ?JMP démarre-t-il puis se ferme-t-il (vous devrez surveiller le gestionnaire de tâches car la fenêtre ne s'ouvrira pas) ?
J'ai parfois besoin de décocher tout dans l'onglet des conditions pour corriger certaines erreurs qui ressemblaient à des problèmes d'autorisations.
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Salut @SDF1
Je connais et comprends votre explication, mais ce n'est pas ce que je veux dire.
Mon intention était,
Comment je planifie le script (à l'aide du planificateur de tâches) qui s'exécutera tous les matins même lorsque je me déconnecte de l'ordinateur.
Le script JMP ne doit pas fonctionner de manière interactive.
Merci
Re : Comment exécuter un script automatiquement - Le planificateur de tâches ne peut pas exécuter le fichier de commandes (exécuter que l'utilisateur soit connecté ou non) ?Salut @Botzal ,
Si vous avez un fichier de commandes système distinct qui peut ouvrir un fichier JSL - c'est-à-dire double-cliquez dessus, vous devriez pouvoir exécuter le fichier JSL automatiquement. Si le tout premier like de votre code JSL est le suivant //! puis une fois que vous enregistrez et fermez le fichier, si vous double-cliquez dessus, il exécute le code JSL, mais n'ouvre pas le fichier pour le modifier. Si votre fichier batch peut l'ouvrir, je pense que cela devrait fonctionner, mais je n'ai pas essayé moi-même.
J'espère que cela t'aides!,
DS