以编程方式获取文件夹位置

4

我有这段VB代码,经过调试后,它给我返回了以下位置

C:\Users\AUpadhyay\AppData\Roaming\Sterling Ultra Precision\Power Suite\2.7.0.0

这段VB代码是:

AppPath = System.IO.Directory.GetParent(My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData).ToString

我试图使用以下C#代码访问相同的目录,但输出结果是

C:\Users\AUpadhyay\AppData

C#代码如下:

AppPath = System.IO.Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).ToString();

获取相同目录地址的代码应该是什么?

3
你尝试过使用 Directory.GetCurrentDirectory() 吗? - Csi
1
尝试这个:Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) - Raktim Biswas
4个回答

2
这将给你一个在AppData文件夹内的漫游文件夹,然后其余的文件夹是已知的,所以你可以使用Path.Combine来连接它们;考虑以下代码:
string AppPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

string requiredPath=Path.Combine(AppPath,@"Sterling Ultra Precision\Power Suite\2.7.0.0");

我该如何到达 Sterling Ultra Precision\Power Suite\2.7.0.0 这里?那一行 VB 代码提供了完整的地址。 - Apoorv

1

Application.UserAppDataPath 将是您的解决方案。

它可以从VB.NET和C#中访问,并返回:

C:\Users\[Your user name]\AppData\Roaming\[Your company name]\[Your product name]\[Your product version]

C# 的结果:

Application.UserAppDataPath in a MessageBox


请告诉我,如果您可以在我之前检查:) - Apoorv
@Apoorv:当然可以 :)。顺便说一下,我刚刚更新了链接,之前不小心用错了。 - Visual Vincent
1
你一直是个乐于助人的好伙伴 :) 谢谢 - Apoorv
@Apoorv:谢谢:)。我想你也测试过了吧? - Visual Vincent

0
您可以使用以下代码在c#中获取当前目录:

string AppPath = AppDomain.CurrentDomain.BaseDirectory;


我需要访问位于AppData文件夹内的Roaming文件夹。 - Apoorv

0

希望这能有所帮助

var fileName = Path.Combine(Environment.GetFolderPath(
    Environment.SpecialFolder.ApplicationData), "FileYouWant.foo")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接