只是好奇,
我的问题是我使用了System::IO::Directory::GetDirectories("c:")而不是System::IO::Directory::GetDirectories("c:\\")。
它最终从"C:\Windows\System32"检索目录。如果我没有在其他驱动器中使用反斜杠,我就得到了我不知道存在的目录。
有人能告诉我为什么会这样吗?有图案吗?什么时候用的?
发布于 2013-05-11 12:13:58
当您省略路径开头(或驱动器字母之后)的反斜杠时,路径将被视为相对于当前目录。您可以使用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 (cmd.exe)中,每个驱动器都可以有单独的当前目录。当你跑步时:
C:\Windows\System32> cd d:\Temp
C:\Windows\System32> dir c:获取C:\Windows\System32的内容,然后在运行时:
C:\Windows\System32> dir d:你得到了D:\Temp的内容
https://stackoverflow.com/questions/16496787
复制相似问题