很久以前我偶然发现了这些明显的不一致,但从来没有就这一切是如何运作的给出一个可以接受的解释。所有这些都可以在 Windows XP 上的“开始”>“运行”框中键入。
C:folder (没有反斜杠)有效。
C:Documents and Settings\<username> 作品。
然而,为什么不起作用C:folder\subfolder?
C:folder\..\folder\subfolder当它似乎在逻辑上等效时确实有效。我找到了这个,但它解释了为什么它应该起作用...... http://en.wikipedia.org/wiki/Path_(computing)#MS-DOS/Microsoft_Windows_style
我刚刚对其进行了测试,效果很好。您需要检查的最重要的事情是当前目录浏览器正在使用。它应该是您的主目录(在我这里工作的情况下,它是 H:)。
为了使C:folder\subfolder语法起作用,folder必须位于资源管理器的当前工作目录下。
就我而言,我有H:\tests, H:\tests\200930,H:\tests\200940和 正在运行
H:tests\200940
Run Code Online (Sandbox Code Playgroud)
按预期工作。
我想您需要确保它subfolder在那里并且folder\subfolder在您的资源管理器工作目录下。
您可以使用Sysinternals的Process Explorer 工具查看资源管理器的当前目录。运行 Process Explorer 后,找到 Explorer.exe,双击它,然后查看当前目录。
您实际上可以通过使用命令提示符并尝试以下操作来自己确认此行为(注意,您至少需要两个驱动器来测试)
H:\> dir
...
Directory of H:\
2009-08-26 09:13 <DIR> Tests
...
H:\> cd Tests
H:\Tests> c:
C:\> dir H:
...
Directory of H:\Tests
2009-08-26 09:13 <DIR> 200930
2009-08-26 09:24 <DIR> 200940
...
C:\> dir H:200940
...
Directory of H:\Tests\200940
...
C:\> cd Windows
C:\Windows> H:
H:\Tests> dir C:System32
...
Directory of C:\WINDOWS\System32
...
Run Code Online (Sandbox Code Playgroud)
(...不相关的切割数据)
如您所见,drive:directory语法与每个驱动器的当前工作目录高度相关。在资源管理器的情况下,它依赖于您的用户的当前工作目录和所有其他驱动器的根目录。
因此,虽然我的主目录是H:\我可以使用H:directory语法来访问我的主目录下的任何文件夹,但如果我使用C:directory我仅限于该驱动器的根目录。