Echapement du \ dans une variable

Signaler
Messages postés
1
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
15 janvier 2008
-
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
-
Bonjour,

Je réalise actuellement un programme en c# visant à verifier l'état de serveurs grace au wmi. Pour cela j'ai besoin de verifier la présence de répertoire.

Le répertoire à verifié est stocké dans une variable rep, que je concatène au reste de ma requete WSQL mais le caractère d'échapement apparait dans la requete WSql ce qui fait qu'elle ne marche pas.

Si je n'ai pas été très clair, voici une partie de mon code :

private bool rep_existe(string rep, System.Management.ManagementScope oMs, TreeNode fils)
{
string tmp = "";
try
{ System.Management.ObjectQuery oQuery new System.Management.ObjectQuery(@"select Name from Win32_Directory where Name '" + rep + "'");
[...]

Seulement la requete réelement émise est :
"Select Name from Win32_Directory where Name = 'C:\\temp' " (il faudrai C:\temp...)

Si vous avez une solution pour retirer ce \ en trop ou bien un moyen d'arriver à mon but, n'hesitez pas à partager votre solution =)

Merci :p

1 réponse

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
Hello,

Est-ce que c'est depuis le debugger que tu vois le \\ ?
Le debugger te le montre, mais la variable est correcte.

Si je fais :

string rep =
@"c:\temp";

MessageBox.Show(rep);
Si je mets un breakpoint sur la 2ème ligne, je vois rep = "c:\\temp". par contre, la messageBox m'affiche bien c:\temp.
ES-tu certain que l'erreur vient bien de là ?

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)