Ошибка при поиске файлов в каталоге C # - PullRequest
0 голосов
/ 08 декабря 2018

Я ищу файлы в моей программе на C #, используя следующую функцию:

        static string[] getFiles(string path, string searchPattern, SearchOption searchOption)
    {
        string[] searchPatterns = searchPattern.Split('|');
        List<string> files = new List<string>();
        try
        {
            foreach (string sp in searchPatterns)
                files.AddRange(Directory.GetFiles(path, sp, searchOption));
            files.Sort();
        } catch (Exception ex){ System.Windows.Forms.MessageBox.Show(ex.Message); }

        return files.ToArray();
    }

Когда я ищу файлы, я передаю следующий код своей функции:

var myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

var files = getFiles(myDocuments, "*", SearchOption.AllDirectories);

Теперь, когда я выполняю код, я получаю следующую ошибку:

enter image description here

По какой-то причине он ищет документы / Моя музыка вместо C: \ Users \Тест \ Music.Ошибка происходит на Win7.Я предполагаю, что причина проблемы описана в следующей ссылке (даже если я никогда не обновлял свою Windows): Microsoft Document Changes . Моя цель - найти все файлы в папке «Мои документы».Это также включает поиск во всех подкаталогах, таких как «Моя музыка», «Мои рисунки» и т. Д. Может ли кто-нибудь предложить какой-то другой код, который я могу использовать, или решение для решения этой проблемы?

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