.net System.IO.Directory.GetDirectories异常
这是我今天在做目录搜索时注意到的,可能会让一些人绊倒 我在我的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个文件夹.net System.IO.Directory.GetDirectories异常,.net,filesystems,directory-structure,.net,Filesystems,Directory Structure,这是我今天在做目录搜索时注意到的,可能会让一些人绊倒 我在我的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驱动器的原因。我猜
GetDirectories(“D:”)
提供了D驱动器当前目录中的目录列表,而GetDirectories(“D:\”)
提供了D驱动器根目录列表
如果您的D驱动器的根目录有12个目录,而当前目录在您的D驱动器上,并且其中没有目录,那么这些就是您应该期望的结果。我猜
GetDirectories(“D:”)
会为您提供D驱动器当前目录中的目录列表,而GetDirectories(“D:\”)
提供D驱动器根目录的列表
如果您的D驱动器的根目录有12个目录,而当前目录位于您的D驱动器上,但其中没有目录,则这些是您应该期望的结果。驱动器D的当前目录是什么:
它不是根目录。驱动器D:的当前目录是什么
它不是根目录。Windows历史上提供了与DOS的向后兼容性,DOS将只包含驱动器号而没有目录的路径视为对驱动器“当前目录”的引用。但是,由于每个驱动器实际上没有一个当前目录(根据cmd.exe模拟),我猜测它不会返回任何内容,因为进程的当前目录位于C:驱动器上。尝试将Environment.CurrentDirectory设置为D:\然后查看是否得到相同的结果。Windows以前提供了与DOS的向后兼容性,它将只包含驱动器号而不包含目录的路径视为对驱动器“当前目录”的引用。但是,由于每个驱动器实际上没有一个当前目录(根据cmd.exe模拟),我猜测它不会返回任何内容,因为进程的当前目录位于C:驱动器上。尝试将Environment.CurrentDirectory设置为D:\然后查看是否得到相同的结果。Windows实际上没有每个驱动器的当前目录的概念。它由cmd.exe模拟以实现向后兼容性。Windows实际上没有每个驱动器的当前目录的概念。为了向后兼容,cmd.exe对其进行了模拟。好吧,归根结底是要弄清楚目录是什么。InternalGetFileDirectoryNames(字符串路径、字符串userPathOriginal、字符串搜索模式、bool includeDiles、bool includeDirs、SearchOption SearchOption)起作用。但我猜当前目录可能是正确的。我正在调试的应用程序位于D驱动器上的一个叶文件夹中。好吧,这要归结为找出哪个目录。InternalGetFileDirectoryNames(字符串路径、字符串userPathOriginal、字符串searchPattern、bool includeDirs、SearchOption SearchOption)起作用。但我猜当前目录可能是正确的。我正在调试的应用程序在D驱动器的一个叶子文件夹中。很好的解释。这很合适。但如果共享和本地磁盘处理之间有一致性就好了。很好的解释。这很合适。但是如果共享和本地磁盘处理之间有一致性就好了。