如何在 IO 函数的路径中使用 %username% 通配符

How to use %username% wildcard in paths for IO functions

我想要一个文件夹,其中包含供每个访问它的用户使用的文件夹。

C:\bla\blabla\user1
C:\bla\blabla\user2
等等

如何使用 Windows %username% 通配符在 .NET 中执行此操作?

这个,例如:

IO.Directory.CreateDirectory("C:\bla\blabla\%username%")

只是给我一个名为“C:\bla\blabla\%username%\”的文件夹

%username%是Windows中的环境变量,returns当前用户的用户名。

VB.NET 为我们提供了做同样事情的 属性,Environment.UserName:https://docs.microsoft.com/en-us/dotnet/api/system.environment.username

这是一个将它与 Path.Combine 一起使用的示例:https://docs.microsoft.com/en-us/dotnet/api/system.io.path.combine

IO.Directory.CreateDirectory(IO.Path.Combine("C:\bla\blabla", Environment.UserName))

不同的方式

    Dim userNM As String = System.Security.Principal.WindowsIdentity.GetCurrent.Name
    userNM = userNM.Substring(userNM.IndexOf("\"c) + 1) 'remove domain

    userNM = Environment.GetEnvironmentVariable("username")

    userNM = Environment.UserName

    userNM = My.User.Name
    userNM = userNM.Substring(userNM.IndexOf("\"c) + 1) 'remove domain