【发布时间】:2014-07-19 01:44:09
【问题描述】:
如果我在 Windows 资源管理器中输入 %APPDATA%\Skype,那么 Windows 资源管理器会显示 C:\Users\Stevew\AppData\Roaming\Skype 的内容。
但是如果我在 C# 中这样做
Directory.GetFiles(@"%APPDATA%\Skype");
然后我得到一个异常说Could not find a part of the path 'C:\\Users\\Stevew\\Documents\\Visual Studio 2010\\Projects\\TestSkype\\TestResults\\Stevew_PC 2014-05-29 15_45_30\\Out\\%APPDATA%\\Skype'。
我想%APPDATA%-part 没有被解析。如何使用这种语法读取C:\Users\Stevew\AppData\Roaming\Skype的内容?
我知道Environment.SpecialFolder.ApplicationData,但我想在这种情况下使用%SOMETHING%-syntax,我希望能够使用任何环境变量。我试过搜索,但我真的不知道要搜索什么。
【问题讨论】:
-
%APPDATA% 是一个 Windows shell 的东西。 .NET 库不知道这种语法。
-
@huMptyduMpty OP 发布说他不想使用那种语法。
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) -
@abhi:我没有回答问题!!!这是一条评论,因为是引导用户走向正确的道路,我的意思是使用
Environment.GetFolderPath -
试试这个:string AppData = Environment.ExpandEnvironmentVariables("%AppData%");
标签: c#