C # WPF - печать всех файлов в каталоге с форматом ".xml" - "не удалось найти часть пути c #" - PullRequest
2 голосов
/ 12 октября 2010

Прежде всего - я погуглил проблему, и, похоже, ничего хорошего не появилось.Также вам, вероятно, покажется, что этот вопрос новичок (и я должен сказать, что у меня никогда не было этой проблемы при печати файлов в каталоге. Я довольно новичок в WPF в C #.

, так что ... яУ меня проблемы с печатью всех файлов в каталоге, который имеет формат «.xml»

Вот мой код для печати файлов в каталоге (я не говорю о рекурсивных каталогах и печати файлов):

    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);
        }
    }

Это событие загрузки моего окна:

    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");
    }

Это выходные данные, которые я получаю при запуске программы:

1-й ящик сообщений - "Объединенные \ данные \ Windows \ xp \"

2-й ящик сообщений -

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-й ящик сообщений- "не удалось найти часть пути 'C: \ data \ Windows \ xp '. "

Вот где начинается exe:

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 ]

3 голосов
/ 12 октября 2010
foreach (String file in Directory.GetFiles(dirPath))
{
    if (Path.GetExtension(file) == ".xml")
        MessageBox.Show(file);
}

Не уверен, что если ваши основные проблемы в том, что вы не получаете точный путь, который вы хотите, однако вышеприведенное должно дать вам то, что вы хотите, из списка позиции XML-файлов.

1 голос
/ 12 октября 2010

Удалите \ из \ data \ windows \ xp (первый \ то есть).Также будьте осторожны, потому что ваш путь становится длинным.Существует ограничение в 260 символов.

Path.Combine () знает используемый символ разделителя каталогов, поэтому при его использовании второй параметр не должен начинаться с символа.

0 голосов
/ 12 октября 2010

да,

это всегда случается со мной ..

через пять минут после того, как я задаю вопрос, и после долгих поисков я сам как-то нашел проблему ..

У меня была проблема с путем -_-

спасибо за попытку кстати

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...