5

这条线是

if (!val.Contains(Environment.GetEnvironmentVariable("windir")))

这似乎适用于 Windows 7(64 位)系统,并将检测我正在查看的字符串是否包含任何大小写的 c:\windows 版本。但是在XP下,同样的代码似乎并没有检测到大小写的变化。我将所有结果打印到控制台以进行调试,并且一些 c:\WINDOWS 正在通过,但是当我执行时

echo %windir%

在命令窗口中,我得到 C:\WINDOWS。有没有办法重写我的测试,这样它就不会破坏与 Win7 的兼容性,但会捕捉到与 XP 的这些差异?

谢谢

4

1 回答 1

9

我建议使用它来获取 windows 文件夹:

var windowsPath = Environment.GetFolderPath(Environment.SpecialFolder.Windows)

您可以这样做以进行不区分大小写的比较:

if (val.IndexOf(windowsPath, StringComparison.InvariantCultureIgnoreCase) < 0)
于 2013-07-21T02:55:08.890 回答