14

Я получил это всплывающее окно от брандмауэра Windows. Что такое "C:2\" в пути? Реальный путь - это D:\Steam\SteamApps\common\...

Диалоговое окно брандмауэра Windows

Я попытался cd /d C:2\ in cmd и получил "The system cannot find the path specified."

Я также попробовал cd C:2\ в Powershell и получил "Set-Location : Cannot find path 'C:\2\' because it does not exist."

Так как же "C:2\" является ярлыком для "D:\"?

Обновить:

Я попытался найти C:2 в реестре, как предложил @Tyson. При поиске C:2 в реестре появляется много нерелевантных результатов поиска, если флажок "Совпадение только по всей строке" не установлен, а по запросу "Совпадение только по всей строке" результатов нет. Пока я нашел ключ, он находится в HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules и его значение v2.10|Action=Allow|Active=TRUE|Dir=In|Protocol=17|Profile=Private|App=C:2\steam\steamapps\common\sonic & all-stars racing transformed\asn_app_pcdx9_final.exe|Name=asn_app_pcdx9_final.exe|Desc=asn_app_pcdx9_final.exe|Defer=User| , Существует правило для D:\Steam\SteamApps\common\Sonic & All-Stars Racing Transformed\ASN_App_PcDx9_Final.exe в Windows Firewall with Advanced Security > Inbound Rules входящих подключений . Я также нашел правило для Team Fortress 2, которое v2.10|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Private|App=C:0\steam\steamapps\common\team fortress 2\hl2.exe|Name=hl2.exe|Desc=hl2.exe|Defer=User| в реестре и D:\Steam\SteamApps\common\Team Fortress 2\hl2.exe в списке правил брандмауэра Windows. Другие игры, установленные в D:\Steam\... имеют D:\ как в реестре, так и в правилах брандмауэра Windows. Так что, вероятно, Steam создает псевдонимы для дисков, отличных от C:\, но я хотел бы знать, как это работает, и почему в одном случае это был C:2\ , в другом C:0\ и в третьем просто D:\ . Я предполагаю, что это, вероятно, потому что это внешний жесткий диск, и иногда Steam не мог найти его в тот момент, когда Windows проснулась после сна, поэтому Steam назначил для него разные псевдонимы.

Но что на самом деле заставляет эти псевдонимы работать? Там нет папок с именами 2 или 0 , это просто D:\Steam\...

3 ответа3

2

# 1 ОБЪЯВЛЕНИЯ

Может ли это быть файл с именем C, который на самом деле является соединением (символическая ссылка), доступным из PATH приложения, и для которого есть альтернативный поток NTFS ADS (альтернативный поток данных), так что C:1, C:2, C:3 и т. д. будет разрешать в другом месте? Поскольку Steam большую часть своего существования ограничивался установкой на один диск, возможно, это был хакерский обходной путь для поддержки перемещения игр?

Основная проблема: я не знаю, что ADS работал с папками, ярлыками, ссылками или переходами. Однако, если бы это было так, это приблизило бы его к этому синтаксису.

# 2 Относительный путь

По ссылке, размещенной KingZoingo, мы видим, что C: может быть текущим относительным путем:

"C:tempdir\tmp.txt" refers to a file in a subdirectory to the current directory on drive C.

Поскольку допустимо называть папку или узел "2", это также приведет к этому синтаксису.

Основная проблема: я ожидал, что Брандмауэр покажет фактический абсолютный путь.

0

Не видя, что на самом деле находится в оперативной памяти процесса, трудно сказать.

Вообще говоря, программа может делать много дерьма для своей собственной памяти, включая изменение или удаление "Командной строки", с которой она была выполнена. Или выполнение дочернего процесса. (Насколько я помню, каждый раз, когда он запускается, Steam делает все возможное, проверяет наличие обновлений и перезапускает себя, пока все не утратит смысл.)

Короче говоря: даже если сам синтаксис этой строки несколько "легален", реальность может быть чем угодно. Не может быть решающего ответа, пока кто-то с лучшими инструментами не столкнется с той же самой проблемой и не исследует это лично.

0

Я думаю, что здесь неявный вопрос : допустим ли c:2\foo в Windows? Google здесь не поможет, потому что строки поиска слишком распространены. Но MSDN полезен и подтверждает, что это не так. Смотрите их страницу здесь. Так что это еще одна точка данных в поддержку вашего клиента Steam, пишущего над записью. Возможно, он пытается высказать свое мнение об игре :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .