在.NET中,我正在写作

Directory.CreateDirectory(textBox4.Text);

textBox4.Text是~/myfolder。我得到的是当前工作目录中的文件夹〜,其中包含myfolder。我如何让CreateDirectory在用户家中创建myfolder?

最佳答案

波浪号扩展通常由 shell 程序(http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_01)处理。

您可以执行类似bash -c "echo ~/folder"的操作并获取输出。我不熟悉执行此操作的.NET API(甚至C API),尽管我不得不想象一个地方。

我对此表示赞同-glob() C运行时功能(在Linux上)将采用GLOB_TILDE标志来执行此扩展。

10-06 00:59