[Batch] Cmd syntaxe reg add

[Résolu/Fermé]
Signaler
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
-
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
-
Salut à tous !

Je suis en train de créer un petit script en batch mais je rencontre une erreur :

reg add HKCR\Directory\background\shell\Photos\shell\ImportVideos\Command /ve /d "cmd /c "start %userprofile%^\desktop^\Copicture.cmd "Importer les vidéos" "%V" 3""


Résultat :

ERREUR : syntaxe incorrecte.
Entrez "REG ADD /?" pour afficher la syntaxe.


Une idée ? Merci de votre aide, cordialement.

4 réponses

Messages postés
18254
Date d'inscription
lundi 15 janvier 2007
Statut
Non membre
Dernière intervention
6 septembre 2021
5 349
hello
sûrement un problème de " imbriqués
mettre toute la commande cmd ... dans un .bat et appeller ce .bat
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
710
ou faire un double échappement :p
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
710
tu a dû oublier le type, et d'échapper les " :
reg add HKCR\Directory\background\shell\Photos\shell\ImportVideos\Command /ve /t REG_EXPAND_SZ /d "cmd /c \"start ^%userprofile^%\\desktop\\Copicture.cmd \\\"Importer les vidéos\\\" \"^%V\" 3\""


Je ne suis pas sûr de l'échappement, si ça ne marche pas, on essaiera les ^ à la place des \ à certains endroits.
Avant d'écrire un message, pensez que nous sommes là par passion, et par espoir de vous la communiquer: Si c'est pas génial, ça !
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
8
Pourquoi 3 antislash stp ?
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
710
C'est dù aux différents niveaux d'interprétation de la commande : à chaque nouvelle opération, il faut déséchapper les caractères:
Cette commande:
reg add HKCR\Directory\background\shell\Photos\shell\ImportVideos\Command /ve /t REG_EXPAND_SZ /d "cmd /c \"start ^%userprofile^%\\desktop\\Copicture.cmd \\\"Importer les vidéos\\\" \"^%V\" 3\""

va créer une clé avec cette valeur
cmd /c "start %userprofile%\desktop\Copicture.cmd \"Importer les vidéos\" "%V" 3"

cmd va ensuite être appelé avec cette chaine comme argument:
start %userprofile%\desktop\Copicture.cmd "Importer les vidéos" "%V" 3

Ce qui corresponds à ce que l'on veut !
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
8 >
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017

Je teste ça tout de suite !
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
710
en fait, les deux premiers antislash produisent un seul antislash, et le dernier est là pour l'apostrophe qui suit.
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
8
Merci de vos réponses, mais j'aimerais que userprofile soit remplacé par C:\Users\**** dans le registre...
(il faut que ce script fonctionne sur n'importe quel ordinateur...
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
710
justement, %userprofile% est une variable d'environnement qui équivaut au dossier utilisateur !
si c'est pas génial, ça !
Je sais mais quand le registre lance une variable comme ça, il crash l'explorateur de fichiers... Je ne suis pas chez moi donc je detaillerais tout ça à la fin de la semaine. Merci pour vos réponses!
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
710
Vraiment ? J'essaie dès que j'ai un PC windows sous la main
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
8
Merci pour ton aide ! J'ai trouvé la solution après de longues recherches :

reg add HKCR\Directory\background\shell\Photos\shell\ImportVideos\Command /f /ve /d "cmd /c \"start %userprofile%\desktop\Copicture.cmd \"Importer les vidéos\" \"%%V\" 3\""

Résultat :

cmd /c "start C:\Users\****\desktop\Copicture.cmd "Importer les vidéos" "%V" 3"

Merci encore !

BlueskyFR
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
8
Le /f n'est pas important...
Messages postés
4068
Date d'inscription
jeudi 18 août 2011
Statut
Membre
Dernière intervention
19 juin 2017
710
C'est étrange, car la documentation de cmd spécifie qu'il ne prends qu'une chaine en argument:
hors, ici, il y en a 7, car les " ne sont pas échappés ;-)

Mais bon, si ça marche comme ça...
Messages postés
74
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
28 décembre 2015
8
Merci quand même ^^