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 =)
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)