我正在尝试运行一个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%
?
答案 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" (在我的系统上)。