C#

По пути "C:\Пользователи\"USERNAME"\Документы\Мои видеозаписи" доступ запрещён

В документах этой папки нету. Проверил этот путь в проводнике, получил ту же ошибку.
Что делает прога: перемещает файлы разных форматов из папки А в папку Б, В, Г.
Почему ошибка: я сделал проверку совпадения файлов в каждой юзерской папке (документы, видео, изображения, музыка, загрузки). Так вот, в документах есть папка "Мои видеозаписи", к которой доступа абсолютно нету.
Что мне нужно: возможно ли сделать проверку папки "Документы" пропуская "неведимку"?
Я в с# новичок и многого не знаю, запрашиваю часть кода с обходом данной проблемы
Если Вы хардкодили путь именно так C:\Пользователи\"USERNAME"\Документы\Мои видеозаписи - у меня плохие новости.

ВСЕГДА пользуйтесь специальным классом для получения "пользовательских папок".
Environment.SpecialFolder
https://docs.microsoft.com/ru-ru/dotnet/api/system.environment.specialfolder?view=netframework-4.8

1. "Пользовательские папки" могут по разному называться в зависимости от языка Windows. Нельзя строго прописывать пути. Более того стандартные названия папок иногда менялись Microsoft. И нет никаких гарантий, что не будет ещё изменений.
И более того они не всегда могут быть на C:

2. В случае использования MUI (многоязычная система под Windows, позволяющая установить разные языковые пакеты и переключаться между ними) папки отображаются в проводнике не с теми именами, какие на самом деле существуют на диске. Н-р в проводнике папка выглядит с названием Мои видеозаписи или Видео (в зависим. от версии Windows). На самом деле она называется My Videos или Videos, и её "настоящее" название можно увидеть либо через cmd + dir либо через файл-менеджеры. Эти имена подставляются обычно из shell32.dll и прописываются в спец. файле desktop.ini

Пруф:
Если посмотреть файл desktop.ini то там будет такая строка

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21791

-21791 это и есть ID ресурса в shell32.dll откуда берется локализованное имя.
Можете для прикола поставить другой ID, нажать в проводнике F5 и отображаемое имя папки станет другим. Только аккуратнее =)
В т. ч. такой эффект дает возможность якобы создать папки с одинаковыми названиями в одной папке =)

Обратите внимание что Captures так-же "переведена" в Клипы.
OZ
Oleg Zorew
84 764
Лучший ответ
Олег Селиверстов Нет, я папку чекал именно так:
string userfolderD = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Documents";

public void user_docs()
{
files = Directory.EnumerateFiles(userfolderD, "*.*", SearchOption.AllDirectories);

foreach (string docs in files)
{
e4 = docs;
}
}
Олег Селиверстов Мне просто нужно сделать сканирование пропуская эту папку
Олег Селиверстов В документах этой папки нету, но она есть
Запустите программу от имени администратора