这就是我今天在做目录搜索时注意到的事情,这可能会让一些人感到意外。
我在我的Windows机器上发现
System.IO.Directory.GetDirectories("C:\")给了我17个文件夹
System.IO.Directory.GetDirectories(C:)给了我17个文件夹
System.IO.Directory.GetDirectories("D:\")给了我12个文件夹
System.IO.Directory.GetDirectories("D:")给了我0文件夹
我想弄清楚为什么我的搜索漏掉了我的D驱动器。
发布于 2011-05-16 01:55:46
我猜GetDirectories("D:")给出了D驱动器当前目录的列表,而GetDirectories("D:\")给出了D驱动器根目录的列表。
如果您的D驱动器的根目录有12个目录,而当前目录位于您的D驱动器上,并且其中没有目录,那么您应该期望得到这些结果。
发布于 2011-05-16 02:02:20
Windows历来提供了与DOS的向后兼容性,DOS将只包含驱动器字母而不包含目录的路径作为驱动器“当前目录”的引用。但是,由于每个驱动器实际上没有当前目录(cmd.exe模拟这个目录,根据陈雷蒙德),我猜它什么也不返回,因为进程的当前目录位于C:驱动器上。尝试将Environment.CurrentDirectory设置为D:\然后看看是否得到了相同的结果。
发布于 2011-05-16 01:56:24
驱动器D:?
这不是根源。
https://stackoverflow.com/questions/6012560
复制相似问题