Vb.net 正在尝试使用系统变量vs驱动器号运行目录.Exists()

Vb.net 正在尝试使用系统变量vs驱动器号运行目录.Exists(),vb.net,Vb.net,我试图运行一个C#程序来确定一个目录是否存在于多台服务器上,因此我需要将其作为%system Variable%运行,而不是进行驱动器号调用,因为并非每台服务器都具有相同的驱动器号。这就是我所拥有的: If My.Computer.FileSystem.DirectoryExists("D:\backup") Then 在我定义驱动器时,此代码将正常工作 If My.Computer.FileSystem.DirectoryExists("%BCK_DRV%\backup") Then 这不

我试图运行一个C#程序来确定一个目录是否存在于多台服务器上,因此我需要将其作为
%system Variable%
运行,而不是进行驱动器号调用,因为并非每台服务器都具有相同的驱动器号。这就是我所拥有的:

If My.Computer.FileSystem.DirectoryExists("D:\backup") Then
在我定义驱动器时,此代码将正常工作

If My.Computer.FileSystem.DirectoryExists("%BCK_DRV%\backup") Then
这不会发生,我在运行它时会出现else错误。
%BCK\u DRV%
是在环境变量中定义的,我可以使用
%BCK\u DRV%\backup
导航到该文件夹而不会出现问题。在C#中是否有特殊的方法来设置和定义
%drive%

代码示例:

Dim backupDrive As String = Environment.GetEnvironmentVariable("BCK_DRV") & "\backup"
If My.Computer.FileSystem.DirectoryExists(backupDrive) Then
尝试:

当然,您需要确保您的流程继承正确的环境。

将“%BCK\u DRV%\backup”扩展到您需要的实际价值

Environment.ExpandEnvironmentVariables();
例如:

Environment.ExpandEnvironmentVariables("%winDir%\test")

将扩展到“C:\Windows\test”(在我的系统上)。

我想您正在寻找备份驱动器。记住这一点,备份驱动器不在该枚举中。这可能有助于其他系统变量。如果链接出现问题,您能否从该链接添加一些内容,那么当人们搜索并找到该链接时,答案更有价值。这很完美,解决了我的问题。多谢各位
Environment.ExpandEnvironmentVariables("%winDir%\test")