标签: special-folders

如何获取当前用户目录?

使用这个:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

"C:\\Documents and Settings\\[USER]\\Application Data"
Run Code Online (Sandbox Code Playgroud)

如何获取所有用户的根目录?即:

"C:\\Documents and Settings\\[USER]\\"
Run Code Online (Sandbox Code Playgroud)

c# windows environment special-folders

93
推荐指数
4
解决办法
12万
查看次数

是什么决定了Path.GetTempPath()的返回值?

目前,我Path.GetTempPath()用来确定在哪里写我的日志文件,但最近我遇到了一个用户的机器,其中返回的路径不是我所期望的.

通常,返回的路径是C:\ Documents and Settings\[userid]\Local Settings\Temp 但在这种情况下,它是C:\ Temp

这通常不是问题,但由于某种原因,有问题的用户无权写入C:\ Temp

我仔细检查了环境变量,并且USER环境变量按预期指向C:\ Documents and Settings\[userid]\Local Settings\Temp,而SYSTEM环境变量指向C:\ WINNT\Temp.

所以...从哪里Path.GetTempPath()获得它的价值?组策略?注册?

我用谷歌搜索,但无济于事.

.net c# environment-variables special-folders

67
推荐指数
2
解决办法
3万
查看次数

SpecialFolder.Desktop和SpecialFolder.DesktopDirectory有什么区别?

我对这两个特殊文件夹之间的差异感到困惑.

这是一个代码片段,用于编写每个输出,但它们输出相同的内容.

string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string pathTwo = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);

Console.WriteLine(path);
Console.WriteLine(pathTwo);

Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

根据MSDN文档(适用于.NET 1.1):

桌面
逻辑桌面而不是物理文件系统位置.

DesktopDirectory
用于在桌面上物理存储文件对象的目录.不要将此目录与桌面文件夹本身混淆,后者是一个虚拟文件夹.

这说the logical Desktop rather than the physical file system location什么意思?另外,virtual folder简单来说是什么?

在较新的.NET 4版本的文档中,我注意到他们删除了Desktop完全和唯一的左侧DesktopDirectory.为什么是这样?

.net c# desktop special-folders

41
推荐指数
1
解决办法
9331
查看次数

在c#中以编程方式查找Windows文件夹

我正在编写一个程序来杀死并重新启动资源管理器但是我不想硬编码位置,因为有些人在不同的地方安装了Windows(例如我发现有人将它安装在d:\驱动器所在的C:\驱动器确实存在,但没有安装任何东西)

我试过在Environment.SpecialFolder下查找.但我没有看到"windows"选项

做这个的最好方式是什么?

c# windows directory special-folders

38
推荐指数
4
解决办法
4万
查看次数

应用程序的数据文件夹在Mac中

什么是Window的等价物C:\Users\userName\AppData\Roaming\appName

我需要一个不会导致权限问题的目录来存储我的应用程序的可更新部分,这样我就可以自动下载并覆盖我的内容.

谢谢.

macos updates special-folders

37
推荐指数
2
解决办法
8万
查看次数

什么是.NET的Environment.SpecialFolder.ApplicationData的WiX等效?

我需要在Environment.SpecialFolder.ApplicationData文件夹中安装一个文件,该文件夹在XP和Vista之间有所不同.是否有内置的方法来引用WiX中的正确文件夹,或者我是否必须使用OS的条件检查并手动执行?

如果我必须执行后者,如何在Vista中引用当前Windows用户的目录?

installer wix special-folders

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

作为开发人员,我应该如何使用Windows Vista(和Windows 7)中的特殊文件夹?

我应该在哪里保存与我的申请相关的数据?我应该在哪里保存配置文件?我应该在哪里保存临时文件?我应该在"文件"中这样做吗?"应用程序数据"?等等...

将数据保存到磁盘的最佳做法是什么(我想,特殊文件夹的最佳做法是什么?!)?

special-folders windows-vista windows-7

26
推荐指数
2
解决办法
2444
查看次数

如何以编程方式派生Windows下载文件夹"%USERPROFILE%/ Downloads"?

在.Net中,我们可以检索"特殊文件夹"的路径,例如Documents/Desktop等.今天我试图找到一种方法来获取"下载"文件夹的路径,但它看起来并不特别.

我知道我可以做'C:\ Users\Username\Downloads',但这似乎是一个丑陋的解决方案.那么如何使用.Net来修复路径呢?

.net registry environment-variables special-folders registrykey

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

无论目标机器的架构如何,如何获取程序文件的路径

我在C#/ .NET中编程.无论目标机器的架构是什么,我希望能够从目标机器返回Program Files目录.为了澄清,C (or whatever drive the OS is on):/Program Files无论他们的Windows版本有多大,我都希望它能够返回.

我只能在目录中进行硬编码,除非用户正在运行未安装在C:驱动器上的Windows,否则它将无法工作.

我发现

FileInfo(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) 
Run Code Online (Sandbox Code Playgroud)

但我认为它返回Program Files (x86)64位Windows机器上的文件夹.

.net c# special-folders program-files

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

使用VB.NET访问%appdata%

如何通过VB.NET访问%appdata%中的文件?

例如,C:\Users\Kuzon\AppData\Roaming\program.我如何访问该文件,但在另一台Windows 7计算机上?另外,你会如何在Windows XP上做到这一点?我相信它是%Application Data%.

.net vb.net windows special-folders appdata

17
推荐指数
1
解决办法
4万
查看次数