Windows路径字符串中的“ C:2 \”是什么意思?


14

我从Windows防火墙获得此弹出窗口。路径中的“ C:2 \”是什么?真正的路径是D:\Steam\SteamApps\common\...

Windows防火墙对话框弹出

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:\”的快捷方式?

更新:

我尝试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.exeWindows 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.exeWindows防火墙规则列表中找到了Team Fortress 2的规则。安装的其他游戏在注册表和Windows防火墙规则中D:\Steam\...都有D:\。因此,这可能是Steam如何为C:\以外的驱动器创建别名的方法,但是我想知道它是如何工作的,以及为什么在一种情况下是C:2\,在另一种情况下C:0\以及在第三种情况下D:\。我想这可能是因为它是一个外部HDD,有时Windows在睡眠后醒来时Steam找不到它,所以Steam为它分配了不同的别名。

但是,究竟是什么使这些别名起作用?没有名为2或的文件夹0,只是D:\Steam\...


3
如果我要冒险的话。Steam由于某种原因报告了错误的位置,据我所知,C:2 \是特定于Steam的语法。
Ramhound 2014年

3
从技术上讲,这是一条有效的路径。它命名2C驱动器当前工作目录上的子目录。当然,如果C驱动器上的CWD没有这样的子目录,那么您将无法对其进行CD刻录。
MSalters 2014年

D:是否作为单独的物理硬盘驱动器或系统驱动器的分区存在?
泰森2014年

@Tyson:单独的物理驱动器。
HAL 9000 2014年

2
这是我的理论之一...如果您的注册表舒适度允许,请尝试在注册表中搜索`C:2`
Tyson

Answers:


2

#1 ADS

这可能是一个名为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”是合法的,因此这也将导致这种语法。

主要问题:我希望防火墙显示实际的绝对路径。


相对路径+1。即使看起来不对。提供了实际路径,包括D:\ Steam \ SteamApps \ common \,因此名为2的子目录似乎不是其中的一部分。尽管如此,您的答案仍能提供很好的思考力,而且这个主意也很容易让人了解,因此使您的答案很有用(即使它不是正确的答案)。
TOOGAM '16

0

没有看到,正在运行的进程内存中实际上是什么,这很难说。

一般来说,程序可以对自己的内存进行很多废话,包括更改或删除执行该命令的“命令行”。或执行子进程。(据我记得,Steam每次启动时都要走很长一段路,检查更新并重新重新启动自身,直到它们失去任何意义为止。)

简而言之:即使该行的语法本身有点“合法”,现实也可能是任何东西。在拥有更好工具的人面对相同问题并亲自调查之前,不可能有决定性的答案。


0

我认为,这里隐含的问题c:2\foo是Windows 是否合法。Google在这里没有帮助,因为搜索字符串太常见了。但是MSDN很有帮助,并确认它没有帮助。在这里查看他们的页面。这是支持您的Steam客户端对条目进行乱写的另一个数据点。也许是想告诉您对游戏的看法:)


通过您的链接:“ C:tempdir \ tmp.txt指向驱动器C上当前目录的子目录中的文件。” 如果将tempdir称为“ 2”,那将是有效的相对路径。但是,令人惊讶的是防火墙没有显示绝对路径。
mtone

很棒的地方。是的,那肯定是可能的。
AlwaysLearning 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.