Windowsファイアウォールからこのポップアップが表示されました。パスの「C:2\」とは何ですか? 実際のパスはD:\Steam\SteamApps\common\...
cd /d C:2\
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:\」のショートカットになるのでしょうか?
アップデート:
@Tyson の提案に従って、レジストリでを検索してみました。 「文字列全体のみ一致」のチェックを外してレジストリで をC:2
検索すると、無関係な検索結果がたくさん表示され、「文字列全体のみ一致」をチェックすると結果がまったく表示されません。それでも、キーは見つかりました。キーは にあり、その値は です。にはのルールがあります。 また、Team Fortress 2 のルールも見つかりました。これは、レジストリとWindows ファイアウォール ルール リストにあります。 にインストールされている他のゲームには、レジストリと Windows ファイアウォール ルールの両方があります。 したがって、これはおそらく Steam が C:\ 以外のドライブにエイリアスを作成する方法ですが、その仕組みと、1 つのケースでは、別のケースでは 、3 つ目のケースでは となっている理由を知りたいです。 おそらく外付け HDD で、Windows がスリープから復帰した瞬間に Steam が見つけられないことがあり、そのため Steam が別のエイリアスを割り当てたためだと思います。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
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
D:\Steam\...
D:\
C:2\
C:0\
D:\
2
しかし、これらのエイリアスが実際に機能するのはなぜでしょうか?またはと呼ばれるフォルダはなく0
、単にD:\Steam\...
答え1
#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」という名前を付けることは有効なので、この構文も使用されます。
主な問題: ファイアウォールが実際の絶対パスを表示することを期待していました。
答え2
実行中のプロセス メモリに実際に何が入っているかを見なければ、判断するのは困難です。
一般的に言えば、プログラムは自身のメモリに対して多くの悪さをすることができます。これには、実行に使用された「コマンド ライン」の変更や削除が含まれます。または、子プロセスを実行します。(私の記憶では、Steam は起動するたびに更新をチェックし、意味がなくなるまで自分自身を再起動するという長い道のりをたどります。)
つまり、たとえその行の構文自体はある程度「合法」であったとしても、現実はどんなものでも構いません。より優れたツールを持つ誰かが同じ問題に直面し、それを直接調査するまで、決定的な答えは得られません。
答え3
ここでの暗黙の疑問は、Windows で合法かどうかということだと思いますc:2\foo
。検索文字列が一般的すぎるため、Google はここでは役に立ちません。しかし、MSDN は役に立ち、Windows で合法ではないことを確認しています。MSDN のページを参照してください。ここ. つまり、これは Steam クライアントがエントリに落書きしていることを示すもう 1 つのデータ ポイントです。おそらく、ゲームに対する意見を伝えようとしているのでしょう :)