#windows #qt #qdir
Вопрос:
Я создал каталог, используя QDir
, но в конце у данного имени было две точки, Qt создал этот каталог, хотя его неправильное название, и теперь моя ОС Windows 10 не может работать с этим недопустимым каталогом.
Я не могу сделать с ним никакой операции. Я сделал это:
- запуск
chkdsk
с фиксирующими флагами, … - запустите проверку дисковой утилиты в свойствах диска
- попытка удалить его из командной строки в cmd и powershell
- попытка удалить каталог с помощью
QDir
Что мне делать?
Ответ №1:
Попробуй
RemoveDirectoryW(L"\\?\C:\full\path\to\dir..");
Пояснение: помимо включения обработки длинного пути, как описано в документации, \?
префикс обходит обработку пути Win32, передавая путь непосредственно в NT API, чтобы он шел непосредственно в ядро NT.
Убедитесь , что вы используете RemoveDirectoryW
не RemoveDirectoryA
полный путь , а косые черты в обратном '\'
направлении (нет /
). Из-за изменения C в строковых литералах \?C:path
становится "\\?\C:\path"
.