[Batch] Cmd syntaxe reg add

Résolu
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

4 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
hello
sûrement un problème de " imbriqués
mettre toute la commande cmd ... dans un .bat et appeller ce .bat
0
Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention   727
 
ou faire un double échappement :p
0
Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention   727
 
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 !
0
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   9
 
Pourquoi 3 antislash stp ?
0
Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention   727
 
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 !
0
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   9 > Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention  
 
Je teste ça tout de suite !
0
Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention   727
 
en fait, les deux premiers antislash produisent un seul antislash, et le dernier est là pour l'apostrophe qui suit.
0
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   9
 
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...
0
Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention   727
 
justement, %userprofile% est une variable d'environnement qui équivaut au dossier utilisateur !
si c'est pas génial, ça !
0
BlueskyFR
 
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!
0
Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention   727
 
Vraiment ? J'essaie dès que j'ai un PC windows sous la main
0
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   9
 
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
0
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   9
 
Le /f n'est pas important...
0
Sugel Messages postés 4076 Date d'inscription   Statut Membre Dernière intervention   727
 
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...
0
BlueskyFR Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   9
 
Merci quand même ^^
0