在C#中使用“无名称”(空格)访问目录/文件夹

时间:2013-08-19 13:18:33

标签: c# filepath

如何在C#中使用“无名称”(空格)访问目录/文件夹。 我试过了

string currentDir = "G:\\";
string targetDir = currentDir + "\\" + " " + "\\";
now targetDir === "G:\\ \\";

但是没有,当我使用targetDir获取“G:\ \”中的文件列表时,它只显示“G:\”中的文件而不是“G:\ \”

感谢

Image Link

4 个答案:

答案 0 :(得分:1)

字符可能实际上不是空格。例如。如果我通过按住alt键并输入ascii代码00160重命名文件夹,则会在我的机器上生成一个空文件夹名称。

答案 1 :(得分:1)

这很棘手,我能够模仿这个的唯一方法是使用ALT + 0160制作一个空白文件夹(这实际上称为不间断空格,在html代码中,它是  )。

对于此角色,您可以使用 System.Net.WebUtility.HtmlDecode 获取下面空白文件夹中的文件:

testDir1 = currentDir + "\\" + System.Net.WebUtility.HtmlDecode(@" ") + "\\";

testDir1 = currentDir + "\\" + System.Net.WebUtility.HtmlDecode(@" ") + "\\";    

这让我得到了空白文件夹中的文件。 Grabbing files from blank space folder

看看它是否适合你,如果没有,那么你的角色就是其他一些奇怪的角色,你必须要知道它是什么才能继续。

答案 2 :(得分:0)

以下“Naming Files, Paths, and Namespaces”空格字符不支持以文件或目录名称结尾,其他单词也不支持作为名称。

  

不要使用空格或句点结束文件或目录名称。虽然底层文件系统可能支持此类名称,但Windows shell和用户界面却不支持。但是,可以将句点指定为名称的第一个字符。例如,“。temp”。

答案 3 :(得分:0)

您可以通过FileInfo获取当前路径中所有文件夹的列表,并在检索到的数组上运行循环,搜索其名称中包含1个字符的文件夹,而不是普通字符。是的,它不会动态起作用,因为在某些PC上,一个特定的字符被认为是普通的,而另一个则不是,但这就是我想到的,如果脚本是供个人使用,我认为没有理由不使用此解决方法:)