Erreur de compilation

Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 14 mai 2017 à 18:36
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 18 mai 2017 à 10:22
Bonjour,

J'ai trouvé un script en VBS qui devrait me créer un point de restauration. Je voudrais le placer dans le planificateur de tâches pour créer régulièrement des points de restauration.

==== If WScript.Arguments.Count = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName &
Chr(34) & "Run", , "runas", 1
Else
GetObject(" winmgmts:\.rootdefault:Systemrestore ").CreateRestorePoint
InputBox(" Point de restauration manuel par script "), 0, 100
Msgbox(" Point de restauration créé! ")
End If
====

Mais là, si je l'exécute j'ai le message d'erreur :
Ligne=1, Caract=11, Erreur=Fin d'instruction attendue, Code=800A0401, Source=Erreur de compilartion Microsoft VBScript.

Et comme je n'y connais rien en vbs, merci de m'aider !

7 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
15 mai 2017 à 09:53
Bonjour,

Pourrais tu reposter ton code en utilisant la coloration syntaxique (les balises de code (
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code )
car là ... je ne sais pas si tes "==== " font parti du code ou si tu as juste voulu faire une séparation pour nous le montrer ........
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
Modifié le 15 mai 2017 à 10:48
Merci de me répondre. J'avais effectivement regarder pour poster un code en vbs, mais j'avais pas trouvé.
J'y met donc des balises js en espérant que ça suffise
==== If WScript.Arguments.Count = 0 Then 
Set objShell = CreateObject("Shell.Application") 
objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & 
Chr(34) & "Run", , "runas", 1 
Else 
GetObject(" winmgmts:\.rootdefault:Systemrestore ").CreateRestorePoint 
InputBox(" Point de restauration manuel par script "), 0, 100 
Msgbox(" Point de restauration créé! ") 
End If 
==== 
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
15 mai 2017 à 10:50
Donc ton souci vient du début de ton script ...(et de la fin)
retire les ====
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
15 mai 2017 à 11:27
Merci jordane45 pour ton aide !

Tout d'abord, quand j'ouvre le "planificateur de tâche", j'ai les messages : l'image de la tâche est endommagée ou a été manipulée.mcupdate
et
l'image de la tâche est endommagée ou a été manipulée.Reminders - Thierry

Si je test la tâche ci dessus, soit
If WScript.Arguments.Count = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName &
Chr(34) & "Run", , "runas", 1
Else
GetObject(" winmgmts:\.rootdefault:Systemrestore ").CreateRestorePoint
InputBox(" Point de restauration manuel par script "), 0, 100
Msgbox(" Point de restauration créé! ")
End If

J'ai le message d'erreur :
Ligne = 3
Caract.=72
Erreur=Erreur de syntaxe
Code=800A03EA
Source=Errer de compilation Microsoft VBScript
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
15 mai 2017 à 11:37

Tout d'abord, quand j'ouvre le "planificateur de tâche", j'ai les messages

Aucun rapport avec la "programmation" mais avec le fonctionnement de ton ordi.....
Une rapide recherche sur le net m'a permit de tomber sur ces deux choses :

https://www.numerama.com/discussions/t/repair-tasks-le-petit-utilitaire-bien-utile-pour-reparer-les-taches-planifiees-windows-corrompues/37285/

http://www.forum-vista.net/forum/topic12801.html

Pour ce qui est de l'erreur dans ton code ....
Commence par placer la commande dans une varible puis affiche la pour voir ce qu'elle contient
cmd = "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & "Run", , "runas", 1
msgbox cmd
objShell.ShellExecute  cmd
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
15 mai 2017 à 15:33
Pour ce qui est des erreurs au lancement du planificateur de tâches, en utilisant l'utilitaire pour réparer les tâches planifiées, je n'ai plus de message !
Peut-être que grâce à ça, la restauration se refera automatiquement ???!!!

Pour ce qui est de l'erreur dans mon code, je ne comprends pas ce que je dois faire ............. !?
Par acquis de conscience, je enregistré tes 4 lignes ci-dessus au format vbs puis exécuté à l'aide du planificateur de tâches.
J'ai l'erreur :
Ligne = 1
Caract. = 20
Erreur = Fin d'instruction attendue
Code = 800A0401
Source = Erreur de compilation Microsoft VBS
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
15 mai 2017 à 15:47
Je n'avais pas bien regardé la ligne de code en question...

Mais :
1 - Pour tester un code ... il faut déjà le faire sans passer par le planificateur de tâches
2 - Eviter les retours à la ligne et bien séparer les & par des espaces avant et après.
=> En recopiant ton code d'origine .. il semble qu'il manquait un espace après le troisième &

Donc...
Ton code d'origine :
If WScript.Arguments.Count = 0 Then
 Set objShell = CreateObject("Shell.Application")
 objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & "Run", , "runas", 1
Else
 GetObject(" winmgmts:\.rootdefault:Systemrestore ").CreateRestorePoint
 InputBox(" Point de restauration manuel par script "), 0, 100
 Msgbox(" Point de restauration créé! ")
End If

Fonctionne parfaitement....
Tu n'as qu'à tester le vbs directement pour t'en rendre compte.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
16 mai 2017 à 09:46
Merci jordane45.
J'ai exécuter le script en vbs à partir du planificateur de tâches, et j'ai le message :
Il n'y a pas de moteur de script pour l'extension de fichier ".vbsRun"
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
16 mai 2017 à 14:53
Mais l'extension est bien ".vbs" !!!!???
Il n'y aurait pas un paramètre pour activer le moteur vbs dans le registre ??
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
16 mai 2017 à 16:28
Si le script VBS fonctionne lorsque tu le lances à la main ... c'est qu'il marche.
Pour les erreurs liées au planificateur de tâches ...cela relève du SYSTEME et non de la programmation...
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
16 mai 2017 à 16:48
En double-cliquant sur l’icône du script, j'ai le même message d'erreur ..........
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
16 mai 2017 à 17:06
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
18 mai 2017 à 09:57
J'ai été vérifier les clés du registre comme noté dans le lien, et elles sont toutes ok !
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024
18 mai 2017 à 10:00
poste une question dans le forum windows ( correspondant à ta version).
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
18 mai 2017 à 10:22
0