尝试使用系统变量vs驱动器号运行Directory.Exists()

时间:2014-08-22 00:20:23

标签: vb.net

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

If My.Computer.FileSystem.DirectoryExists("D:\backup") Then

当我定义驱动器

时,此代码将起作用
If My.Computer.FileSystem.DirectoryExists("%BCK_DRV%\backup") Then

这不会,我在运行时遇到其他错误。 %BCK_DRV%在环境变量中定义,我可以使用%BCK_DRV%\backup导航到该文件夹​​而不会出现问题。有没有一种特殊的方法来设置和定义C#中的%drive%

3 个答案:

答案 0 :(得分:2)

Environment.GetEnvironmentVariable

代码示例:

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

答案 1 :(得分:0)

尝试Environment.ExpandEnvironmentVariables()

string raw      = @"%BCK_DRV%\backup" ;
string expanded = Environment.ExpandEnvironmentVariables( path_raw ) ;

当然,您可以确保您的流程继承正确的环境。

答案 2 :(得分:0)

扩展"%BCK_DRV%\ backup"它需要的真正价值

Environment.ExpandEnvironmentVariables();

示例:

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

将扩展为" C:\ Windows \ test" (在我的系统上)。