.Bat = Remplacer les espaces d'une variable par des _

Fermé
micromega Messages postés 131 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 12 avril 2020 - 18 févr. 2016 à 11:47
dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 - 22 févr. 2016 à 09:17
Bonjour,

J'aurais besoin de remplacer les espaces du chemin que me renvoi une variable, par des " _ " (touche 8) :

"%Chemin%\Dossier"

Est-ce possible ?

Merci
A voir également:

5 réponses

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
18 févr. 2016 à 23:47
Bonjour,

Avec ceci sûrement :

Variable Edit/Replace

Use the syntax below to edit and replace the characters assigned to a string variable.

Syntax
%variable:StrToFind=NewStr%

%~[param_ext]$variable:Param

Key
StrToFind : The characters we are looking for
NewStr : The chars to replace with (if any)
variable : The environment variable
param_ext : Any filename Parameter Extension
Param : A command line parameter (e.g. 1)


https://ss64.com/nt/syntax-replace.html

.
3
dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 5 623
19 févr. 2016 à 08:32
hello
C:> set chemin=\a a\b b\c c\
C:> set nc=%chemin: =_%
C:> echo %nc%
\a_a\b_b\c_c\

1
Utilisateur anonyme
18 févr. 2016 à 19:12
Salut,

Si tu arrives à stocker ce chemin dans un fichier texte ensuite, je peux faire ça sous Python ou en C si ça t'intéresse.
0
micromega Messages postés 131 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 12 avril 2020 1
18 févr. 2016 à 22:07
Bonjour,

Merci pour la réponse.
J'ai des connaissances assez limitées en ".Bat", mais aucune idée sur comment agir directement dans le ".bat" sans avoir à sortir le chemin dans un fichier externe ?
Merci en tout cas pour la proposition.
0

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

Posez votre question
micromega Messages postés 131 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 12 avril 2020 1
21 févr. 2016 à 17:37
Bonjour,

La solution de Dubcek marche parfaitement.

Merci pour l'aide.



Dernier point : J'ai un logiciel qui s'exécute en ligne de commande.
A chaque fois, il faut lui indiquer le chemin du fichier à partir de la racine du disque où il se trouve (ex: "C:\Dossier 1\Dossier 2\Dossier 3\Fichier")

Si je place ce logiciel de ligne de commande directement dans "Dossier 2", est-ce possible de le faire commencer à partir de là ?
(ex: "Dossier 2\Dossier 2\Fichier") ?
D'origine cela ne fonctionne pas (pour infos je l'utilise combiné à un ".bat".

Merci
0
dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 5 623
Modifié par dubcek le 22/02/2016 à 09:17
Dossier 2\Dossier 2\Fichier il n'y a pas de \ devant, donc il faut etre dans Dossier 1
c'est un chemin relatif
0