我做的目录搜索可能会引起一些人的兴趣。
我在Windows XP机器上找到了
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盘。
答案 0 :(得分:2)
我的猜测是GetDirectories("D:")
为您提供D驱动器的当前目录中的目录列表,而GetDirectories("D:\")
为您提供 root 。
如果D驱动器的根目录有12个目录且当前目录位于D驱动器上并且没有目录,那么这些是您应该期望的结果。
答案 1 :(得分:2)
Windows历史上提供了与DOS的向后兼容性,DOS处理的路径只包含一个没有目录的驱动器号作为驱动器“当前目录”的引用。但由于每个驱动器实际上没有当前目录(cmd.exe模拟了这个,根据Raymond Chen),我的猜测是它没有返回任何内容,因为进程的当前目录位于C:驱动器上。尝试将Environment.CurrentDirectory设置为D:\,然后查看是否得到相同的结果。
答案 2 :(得分:0)
驱动器D的当前目录是什么?:
这不是根源。