У меня есть приложение C++, которое использует переменную %tmp%
(из функции GetTempPath () ). К сожалению, существует ошибка, из-за которой он не может обработать заголовок, который может появиться в пути к локальному временному каталогу пользователя, если он генерируется с использованием коротких имен файлов.
Я хотел бы сделать так, чтобы переменная окружения %tmp%
не включала короткое имя файла, если это возможно.
В своем исследовании я наткнулся на следующие команды:
fsutil.exe 8dot3name set C: 1
fsutil.exe 8dot3name strip /s /v C:\
Я выполнил оба из них, и первая команда успешно отключила короткие имена файлов. Однако вторая команда завершилась неудачно для приблизительно 2000 существующих коротких имен файлов, так как на них уже есть ссылки в реестре. Это нормально, но я действительно забочусь только об этой одной переменной среды, поэтому мне было интересно, есть ли способ, которым я мог бы принудительно удалить это короткое имя файла, или если, как я чувствую, это было бы, это не рекомендуется Есть ли способ заставить переменную среды использовать длинное имя файла? Я понимаю, что переменная %tmp%
использует переменную %userprofile%
, и что последняя на самом деле является ошибочной переменной, так что я понимаю, что мне нужно взглянуть на нее ..?
Любая помощь будет очень рекомендуется.
Ура!