2010-10-12 13 views
2

Tout d'abord - j'ai googlé le problème, et rien de bon lié semblait venir. En outre, il semblera probablement vous que cette question est un débutant un (et je dois dire que je ne ai jamais eu ce problème lors de l'impression des fichiers dans un répertoire. Je suis assez nouveau pour WPF en C#.C# WPF - Impression de tous les fichiers dans le répertoire qui a le format ".xml" - "n'a pas pu trouver une partie du chemin C#"

so .. Je rencontre des problèmes pour imprimer tous les fichiers dans le répertoire qui a « .xml » Format

Voici mon code pour imprimer les fichiers dans un répertoire (je ne parle pas dirs récursives et imprimer des fichiers):

private void Load_ToolboxItems(string dirPath, string os, string version) 
    { 
     try 
     { 
      foreach (string command in Directory.GetFiles(dirPath, "*.xml")) 
      { 
       //load commands by OS compatibility 
       MessageBox.Show(command); 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

Ceci est mon événement de chargement de la fenêtre:

private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     MessageBox.Show("Combined " + System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName), @"\data\Windows\xp\")); 
     MessageBox.Show(System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)); 
     Load_ToolboxItems(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName), @"\data\Windows\xp\"), "Windows", "XP"); 
    } 

Ce sont les sorties que je reçois lors de l'exécution du programme:

1er messagebox- "Données combinées \ \ Windows \ xp \"

2ème messagebox-

C:\Users\Din\Din\Programming\Webs\Ended Projects\LogicalArm\Products\Visual Command Line\Visual_Command_Line-wpf_net3.5c_vs2010\Visual_Command_Line\bin\Release 

3 messagebox- "ne pouvait pas trouver une partie du chemin" C: \ data \ Windows \ xp."

C'est là l'exe commence à partir de:

C:\Users\Din\Din\Programming\Webs\Ended Projects\LogicalArm\Products\Visual Command Line\Visual_Command_Line-wpf_net3.5c_vs2010\Visual_Command_Line\bin\Release 

Répondre

1

Retirez le \ \ de données \ windows \ xp (le premier \ qui est). Fais aussi attention car ton chemin devient long. Il y a une limite de 260 caractères. Path.Combine() connaît le caractère séparateur de répertoire à utiliser, donc lorsque vous l'utilisez, le second paramètre ne doit pas commencer par a.

+0

oui je sais à propos de la limite 260 dans Windows et NTFS et merci pour l'info sur Path.Combine() – dinbrca

3
foreach (String file in Directory.GetFiles(dirPath)) 
{ 
    if (Path.GetExtension(file) == ".xml") 
     MessageBox.Show(file); 
} 

Je ne sais pas si vos problèmes sous-jacents est vous ne recevez pas le chemin exact que vous voulez, mais le devrait vous donner ci-dessus ce que vous voulez à partir d'une liste de position des fichiers XML.

0

hein,

il arrive toujours à moi ..

cinq minutes après je poser une question et après une longue recherche i-faire un peu moi-même trouver le problème ..

J'ai eu problème avec le chemin -_-

Merci pour essayer d'aider par la façon dont

+0

Rubber Ducking :-) – SKG