Pb d'espace dans un chemin de fichier

Résolu
Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
-
Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
-
Bonjour /Bonsoir,

Il y a 1 ou 2 ans j'ai déjà résolu (toute seule) ce problème, mais je retrouve plus la trace :/

Voilà je lance une commande .bat à partir d'un code c#.

                System.Diagnostics.Process proca = new System.Diagnostics.Process();
                proca.StartInfo.FileName = Application.StartupPath + "\\Moi.bat";
                proca.StartInfo.RedirectStandardError = false;
                proca.StartInfo.RedirectStandardOutput = false;
                proca.StartInfo.UseShellExecute = false;
                proca.Start();
                proca.WaitForExit();



Seulement voilà mon Moi.bat crée à coup de récupération d'un string, contient un chemin de fichier avec des espaces et du coup le .bat "plante".

@Echo off
SET PATH=sys
copy C:\Users\Mama\Desktop\Choupa Choup\genie sans frotter.txt C:\Users\Mama\Desktop\Plouf\genie sans frotter.txt
echo Copie OK !


C:\Users\Mama\Desktop\Choupa Choup\genie : récupérer de la textbox.


Je pense qu'il faudrait modifier les espaces par des 2% ou un truc dans le genre, non ?
Si c'est le cas, comment faire pour remplacer simplement ces satanés espaces par ces 2% ?

Merci beaucoup.

2 réponses

Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
1
C'est bon j'ai retrouvé en cherchant au fin fond de ma mémoire :

string chemin = String.Format(""{0}"", chemin_avec_espace);


Permet de prendre tout le chemin avec les espaces et soit exécutable sur un .bat.


Merci à moi :).
Messages postés
104
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
7 avril 2019
1
Salut,
Question peut-être plus simple (mais qui est la même que plus haut :
Comment supprimer les espaces dans un chemin de fichier pour être reconnu par un .bat ?