Папки, которых нет, но они есть, что делать?

prttkll

Участник
Автор темы
84
17
В общем, в связи недавними событиями, мне пришлось изменять сборку для игры, я обнаружил, что эти две папки есть, но их нельзя найти.
Папка, выделенная голубым и папка выше нее (1 скрин). Как вы знаете, если указывается определенная папка для запуска, то пишется путь, я решил проследовать по этому пути, но в итоге вот это (2 фото). Знает кто, из-за чего это?


48810
48811
 
Решение
В NT-подобных операционных системах принято к элементам файловой системы получать доступ путем обращения к их точкам монтирования (которые можно посмотреть, например, так: Get-WmiObject Win32_MountPoint или mountvol), которые обычно выражаются буквой диска, а затем символом двоеточия

Так как Explorer, насколько мне знается, никак не может использовать абсолютные NT Namespaces (всякие \Device\HarddiskVolume10) в силу того, что работает только с WinAPI, в арсенале вооружения остается только Win32 File Namespaces, в составе которого вы можете либо написать уже упомянутое стандартное обращение по "<DRIVE/VOLUME LETTER>:" либо путем обращения к DOS device, "\\?\<DRIVE/VOLUME LETTER>:". Еще есть UNC paths, с помощью...

san0

Известный
Друг
411
268
В NT-подобных операционных системах принято к элементам файловой системы получать доступ путем обращения к их точкам монтирования (которые можно посмотреть, например, так: Get-WmiObject Win32_MountPoint или mountvol), которые обычно выражаются буквой диска, а затем символом двоеточия

Так как Explorer, насколько мне знается, никак не может использовать абсолютные NT Namespaces (всякие \Device\HarddiskVolume10) в силу того, что работает только с WinAPI, в арсенале вооружения остается только Win32 File Namespaces, в составе которого вы можете либо написать уже упомянутое стандартное обращение по "<DRIVE/VOLUME LETTER>:" либо путем обращения к DOS device, "\\?\<DRIVE/VOLUME LETTER>:". Еще есть UNC paths, с помощью которых можно получить доступ к сетевым ресурсам по типу \\StaticServer\Shared. \\?\GLOBALROOT и подобные, вроде тоже из Explorer не открываются из адресной строки

В вашем же случае путь, по непонятным причинам, начинается с единичного обратного слеша, что, по описанному выше, является недопустимым

Так как у папок есть стрелочки, то, полагаю, проблема не в правах доступа к папке
В любом случае, если после того, как вы поправили путь, в составе папки нет файлов или их размер 0 байт, или все еще нет доступа к файлам, можете вернуть владельца папки и ее файлов путем
takeown /F "<folder>\*" /A /R
и затем либо сбросить права
icacls "<folder>\*" /C /T /reset
либо дать полные права некоторой группе пользователей
icacls "<folder>\*" /T /grant <Group>:F
 

prttkll

Участник
Автор темы
84
17
В NT-подобных операционных системах принято к элементам файловой системы получать доступ путем обращения к их точкам монтирования (которые можно посмотреть, например, так: Get-WmiObject Win32_MountPoint или mountvol), которые обычно выражаются буквой диска, а затем символом двоеточия

Так как Explorer, насколько мне знается, никак не может использовать абсолютные NT Namespaces (всякие \Device\HarddiskVolume10) в силу того, что работает только с WinAPI, в арсенале вооружения остается только Win32 File Namespaces, в составе которого вы можете либо написать уже упомянутое стандартное обращение по "<DRIVE/VOLUME LETTER>:" либо путем обращения к DOS device, "\\?\<DRIVE/VOLUME LETTER>:". Еще есть UNC paths, с помощью которых можно получить доступ к сетевым ресурсам по типу \\StaticServer\Shared. \\?\GLOBALROOT и подобные, вроде тоже из Explorer не открываются из адресной строки

В вашем же случае путь, по непонятным причинам, начинается с единичного обратного слеша, что, по описанному выше, является недопустимым

Так как у папок есть стрелочки, то, полагаю, проблема не в правах доступа к папке
В любом случае, если после того, как вы поправили путь, в составе папки нет файлов или их размер 0 байт, или все еще нет доступа к файлам, можете вернуть владельца папки и ее файлов путем
takeown /F "<folder>\*" /A /R
и затем либо сбросить права
icacls "<folder>\*" /C /T /reset
либо дать полные права некоторой группе пользователей
icacls "<folder>\*" /T /grant <Group>:F
очень умное, но я очень тупой.