.BAT : "trop de paramètres de ligne de commande"
Résolu/Fermé
micromega
Messages postés
131
Date d'inscription
lundi 13 avril 2009
Statut
Membre
Dernière intervention
12 avril 2020
-
Modifié le 9 avril 2018 à 19:47
micromega Messages postés 131 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 12 avril 2020 - 17 avril 2018 à 10:03
micromega Messages postés 131 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 12 avril 2020 - 17 avril 2018 à 10:03
A voir également:
- .BAT : "trop de paramètres de ligne de commande"
- Fichier bat - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Pokemon qui bat qui ✓ - Forum Pokémon
- Exécuter un fichier bat automatiquement - Forum Autoit / batch
- Bouchou ka bat traduction ✓ - Forum traduction
3 réponses
barnabe0057
Messages postés
14452
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
3 août 2024
4 917
6 avril 2018 à 23:30
6 avril 2018 à 23:30
Bonjour,
On va commencer par le début, qu'obtiens-tu comme résultat dans la variable %%b ?
On va commencer par le début, qu'obtiens-tu comme résultat dans la variable %%b ?
micromega
Messages postés
131
Date d'inscription
lundi 13 avril 2009
Statut
Membre
Dernière intervention
12 avril 2020
1
7 avril 2018 à 08:36
7 avril 2018 à 08:36
Bonjour,
La variable %%b est bonne, elle renvoi le bon chemin à utiliser.
J'ai fait plusieurs tests et il est apparu que la variable bloque l'inscription dans le registre.
Si je supprime la variable, la commande s'exécute parfaitement.
La variable %%b est bonne, elle renvoi le bon chemin à utiliser.
J'ai fait plusieurs tests et il est apparu que la variable bloque l'inscription dans le registre.
Si je supprime la variable, la commande s'exécute parfaitement.
barnabe0057
Messages postés
14452
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
3 août 2024
4 917
7 avril 2018 à 09:36
7 avril 2018 à 09:36
Très bien, puisque tu ne veux pas répondre aux questions je te souhaite bonne chance.
micromega
Messages postés
131
Date d'inscription
lundi 13 avril 2009
Statut
Membre
Dernière intervention
12 avril 2020
1
Modifié le 7 avril 2018 à 13:39
Modifié le 7 avril 2018 à 13:39
La variable me renvoie le chemin : "C:\Program Files (x86)\Mon dossier". < c'est ça qu'il fallait répondre ?
Le chemin est bon. Je rajoute "\Lancement.exe" à la suite de la variable afin d'inscrire cet exécutable dans le RUN du registre.
La variable seule + extension du chemin = pas de problème (testé en ECHO en en CALL).
Seulement, la réutilisation de la variable dans un REG ADD bloque en me donnant : "trop de paramètres de ligne de commande". < ça je ne comprend pas.
Mes tests ont révélé que le problème vient de "%VARIABLE%". Si je la supprime et pose le chemin tel quel, cela fonctionne (pourtant la variable est bonne puisqu'elle me renvoie le même chemin).
Si j'ai été assez clair...
Le chemin est bon. Je rajoute "\Lancement.exe" à la suite de la variable afin d'inscrire cet exécutable dans le RUN du registre.
La variable seule + extension du chemin = pas de problème (testé en ECHO en en CALL).
Seulement, la réutilisation de la variable dans un REG ADD bloque en me donnant : "trop de paramètres de ligne de commande". < ça je ne comprend pas.
Mes tests ont révélé que le problème vient de "%VARIABLE%". Si je la supprime et pose le chemin tel quel, cela fonctionne (pourtant la variable est bonne puisqu'elle me renvoie le même chemin).
Si j'ai été assez clair...
barnabe0057
Messages postés
14452
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
3 août 2024
4 917
7 avril 2018 à 14:11
7 avril 2018 à 14:11
Est-ce que tu as essayé d'échapper les %% de ta variable ?
barnabe0057
Messages postés
14452
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
3 août 2024
4 917
Modifié le 9 avril 2018 à 19:40
Modifié le 9 avril 2018 à 19:40
Apparemment l'aide la commande REG ADD indique qu'il faut échapper les variables comme ceci :
Certains caractères spéciaux sont interprétés d'une certaine manière par certaines commandes, pour éviter ceci on utilise des caractères d'échappement, comme ^
Voici la liste complète des caractères d'échappement :
https://www.robvanderwoude.com/escapechars.php
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Lancement" /t REG_SZ /d "^%VARIABLE^%\Lancement.exe" /f
Certains caractères spéciaux sont interprétés d'une certaine manière par certaines commandes, pour éviter ceci on utilise des caractères d'échappement, comme ^
Voici la liste complète des caractères d'échappement :
https://www.robvanderwoude.com/escapechars.php
barnabe0057
Messages postés
14452
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
3 août 2024
4 917
Modifié le 11 avril 2018 à 20:08
Modifié le 11 avril 2018 à 20:08
Je me suis décidé à tester sur ma machine et ça marche très bien :
Dans l'invite de commandes ça ne fonctionne pas comme il faut, mais dans un fichier .bat oui.
@echo off
setlocal enableextensions disabledelayedexpansion
For /F "tokens=2,*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Martin Prikryl\WinSCP 2\DragExt" /v Enable 2^>NUL ^| findstr REG_') do (set VARIABLE=%%b)
echo ###%variable%###
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Lancement" /t REG_SZ /d "%VARIABLE%\Lancement.exe" /f
timeout /t 2
Dans l'invite de commandes ça ne fonctionne pas comme il faut, mais dans un fichier .bat oui.
micromega
Messages postés
131
Date d'inscription
lundi 13 avril 2009
Statut
Membre
Dernière intervention
12 avril 2020
1
17 avril 2018 à 10:03
17 avril 2018 à 10:03
Bonjour,
Merci pour le test. J'ai trouvé d'où venait le problème en comparant : il fallait retirer les "" qui entoure la VARIABLE=%%b
Ce n'était pas grand chose, mais il y avait bien un problème du côté de la variable.
Merci de m'avoir permis de trouver le problème !
Merci pour le test. J'ai trouvé d'où venait le problème en comparant : il fallait retirer les "" qui entoure la VARIABLE=%%b
Ce n'était pas grand chose, mais il y avait bien un problème du côté de la variable.
Merci de m'avoir permis de trouver le problème !