使用这个:
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) 目前,我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()
获得它的价值?组策略?注册?
我用谷歌搜索,但无济于事.
我对这两个特殊文件夹之间的差异感到困惑.
这是一个代码片段,用于编写每个输出,但它们输出相同的内容.
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
.为什么是这样?
我正在编写一个程序来杀死并重新启动资源管理器但是我不想硬编码位置,因为有些人在不同的地方安装了Windows(例如我发现有人将它安装在d:\驱动器所在的C:\驱动器确实存在,但没有安装任何东西)
我试过在Environment.SpecialFolder下查找.但我没有看到"windows"选项
做这个的最好方式是什么?
什么是Window的等价物C:\Users\userName\AppData\Roaming\appName
?
我需要一个不会导致权限问题的目录来存储我的应用程序的可更新部分,这样我就可以自动下载并覆盖我的内容.
谢谢.
我需要在Environment.SpecialFolder.ApplicationData
文件夹中安装一个文件,该文件夹在XP和Vista之间有所不同.是否有内置的方法来引用WiX中的正确文件夹,或者我是否必须使用OS的条件检查并手动执行?
如果我必须执行后者,如何在Vista中引用当前Windows用户的目录?
我应该在哪里保存与我的申请相关的数据?我应该在哪里保存配置文件?我应该在哪里保存临时文件?我应该在"文件"中这样做吗?"应用程序数据"?等等...
将数据保存到磁盘的最佳做法是什么(我想,特殊文件夹的最佳做法是什么?!)?
在.Net中,我们可以检索"特殊文件夹"的路径,例如Documents/Desktop等.今天我试图找到一种方法来获取"下载"文件夹的路径,但它看起来并不特别.
我知道我可以做'C:\ Users\Username\Downloads',但这似乎是一个丑陋的解决方案.那么如何使用.Net来修复路径呢?
.net registry environment-variables special-folders registrykey
我在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机器上的文件夹.
如何通过VB.NET访问%appdata%中的文件?
例如,C:\Users\Kuzon\AppData\Roaming\program
.我如何访问该文件,但在另一台Windows 7计算机上?另外,你会如何在Windows XP上做到这一点?我相信它是%Application Data%
.