相关疑难解决方法(0)

展开"我的文档"的环境变量

我知道我可以读取这样的环境变量:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
Run Code Online (Sandbox Code Playgroud)

但是,如果我能做到这样的话,对我来说真的很有帮助:

Environment.ExpandEnvironmentVariables(@"%MyDocuments%\Foo");
Run Code Online (Sandbox Code Playgroud)

是否有一个等于SpecialFolder.MyDocuments的环境变量?

我也试图做这样的事情,但这不会导致预期的结果:

Environment.ExpandEnvironmentVariables(@"%USERPROFILE%\My Documents\Foo");
Run Code Online (Sandbox Code Playgroud)

这样我就得到了类似@"C:\Users\<MyUser>\My Documents\Foo"但我需要的东西@"\\someservername\users$\<MyUser>\My Documents\Foo".

编辑:我的目标不是硬编码环境变量或之后的部分.

还有其他建议吗?

.net c# environment environment-variables special-folders

12
推荐指数
2
解决办法
1万
查看次数

Environment.GetEnvironmentVariable("windir")奇怪的行为

这条线是

if (!val.Contains(Environment.GetEnvironmentVariable("windir")))
Run Code Online (Sandbox Code Playgroud)

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

echo %windir%
Run Code Online (Sandbox Code Playgroud)

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

谢谢

c# windows windows-xp environment-variables windows-7

3
推荐指数
1
解决办法
4278
查看次数