只是好奇,系统:: IO ::目录:: GetDirectories( “C:对C:\”)
我有,我用System::IO::Directory::GetDirectories("c:")
代替System::IO::Directory::GetDirectories("c:\\")
问题。
它最终从"C:\Windows\System32"
检索目录。如果我没有使用其他驱动器的反斜杠,我结束了宽度目录,我不知道它们存在。
有人能告诉我为什么会发生这种情况?有没有一种模式?何时使用?
只是好奇,系统:: IO ::目录:: GetDirectories( “C:对C:\”)
我有,我用System::IO::Directory::GetDirectories("c:")
代替System::IO::Directory::GetDirectories("c:\\")
问题。
它最终从"C:\Windows\System32"
检索目录。如果我没有使用其他驱动器的反斜杠,我结束了宽度目录,我不知道它们存在。
有人能告诉我为什么会发生这种情况?有没有一种模式?何时使用?
当你忽略的路径(或驱动器盘符后)开始的反斜杠,路径被认为是相对到当前目录。您可以使用System::IO::Directory::GetCurrentDirectory()
方法获取当前目录的值,您可以使用System::IO::Directory::SetCurrentDirectory(path)
方法更改它。
澄清一下考虑一下:当前目录是C:\Windows
,路径C:test.txt
等于C:\Windows\test.txt
。
GetDirectories
方法返回指定路径中的所有目录,甚至隐藏或系统目录(你通常不会在Windows资源管理器看到)。所以我想你正在谈论其他驱动器如System Volume Information
和$RECYCLE.BIN
的系统目录。
在Windows shell(cmd.exe)中,我们可以为每个驱动器分别配置当前目录。当您运行:
C:\Windows\System32> cd d:\Temp
C:\Windows\System32> dir c:
你的C:\Windows\System32
内容,然后在运行:
C:\Windows\System32> dir d:
你的D:\Temp
+1我忘了相对路径的内容。但是我仍然得不到的是:GetCurrentDirectory返回了项目文件夹“j:\ files \ solutrion \ project”(j:\是存储项目的驱动器)。当我使用未准备好的驱动器的字母时,抛出异常,当我使用准备好的驱动器的字母时,我被重定向到了一些奇怪的位置。隐藏文件设置为可见,所以我可以看到目录包含的所有内容。这意味着(drive):和(drive)之间有差异:\ – JMRC 2013-05-11 13:44:11
我在我的机器中看不到您的问题。查询其他驱动器时,我会得到驱动器根目录的内容。 – 2013-05-11 14:03:22
即使没有反斜杠? – JMRC 2013-05-11 14:54:50