更新记录

本文迁移自Panda666原博客,原发布时间:2021年6月30日。

一、说明

每种平台都其预定义的规则,比如Windows平台有自己的规定、公司也有预定义的规章制度。那么在平台上开发和干活,就要遵守人家的约定进行工作。当然,叛逆的你也可以不按约定出牌。常用Windows系统的小伙伴,通过GUI操作系统常用的路径基本大家都熟悉。下面通过编程的方式获得系统的常见路径。

二、使用Environment类型

直接Environment静态类型的GetFolderPath()方法即可获得许多预定义的Windows常见路径。

通过在Visual Studio中F12查看类型,可以看到详细的枚举定义。

实例具体如下:

//获得桌面所在的路径(虚拟)
Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
//获得桌面所在的路径(实际)
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
//获得启动下的应用程序目录
Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.Programs)
//获得我的文档路径
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
//获得我的文档路径
Environment.GetFolderPath(Environment.SpecialFolder.Personal)
//获得我最喜欢路径
Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
//获得开启启动程序存放的目录
Environment.GetFolderPath(Environment.SpecialFolder.Startup)
//获得开启启动程序存放的目录(所有用户可见)
Environment.GetFolderPath(Environment.SpecialFolder.CommonStartup)
//获得用户最近使用的目录
Environment.GetFolderPath(Environment.SpecialFolder.Recent)
//获得菜单项目录
Environment.GetFolderPath(Environment.SpecialFolder.SendTo)
//获得开始菜单目录
Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)
//获得开始菜单上的目录(所有用户可见)
Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu)
//获得我的音乐目录
Environment.GetFolderPath(Environment.SpecialFolder.MyMusic)
//获得我的视频目录
Environment.GetFolderPath(Environment.SpecialFolder.MyVideos)
//我的图片所在目录
Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)
//获得网络虚拟文件夹所在目录
Environment.GetFolderPath(Environment.SpecialFolder.NetworkShortcuts)
//获得字体所在目录
Environment.GetFolderPath(Environment.SpecialFolder.Fonts)
//获得模板目录
Environment.GetFolderPath(Environment.SpecialFolder.Templates)
//获得模板文件目录(所有用户可见)
Environment.GetFolderPath(Environment.SpecialFolder.CommonTemplates)
//获得桌面所在目录(所有用户可见)
Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory)
//获得应用数据所在目录(带同步)
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
//获得应用数据所在目录(本地用户)
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
//获得[internet]网络临时文件所在目录
Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)
//获得[internet]网络Cookie所在目录
Environment.GetFolderPath(Environment.SpecialFolder.Cookies)
//获得[internet]浏览历史记录
Environment.GetFolderPath(Environment.SpecialFolder.History)
//获得应用数据所在目录
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
//Windows所在目录
//%windir% or %SYSTEMROOT%
Environment.GetFolderPath(Environment.SpecialFolder.Windows)
//System所在目录
Environment.GetFolderPath(Environment.SpecialFolder.System)
//System所在目录(x86)
Environment.GetFolderPath(Environment.SpecialFolder.SystemX86)
//Program Files所在目录
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)
//Program Files所在目录(x86)
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)
//当前用户配置文件顶层所在目录
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)
//应用程序共享文件所在目录
Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles)
//应用程序共享文件所在目录(x86)
Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFilesX86)
//公用文档目录
Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments)
//公用音乐目录
Environment.GetFolderPath(Environment.SpecialFolder.CommonMusic)
//公用图片目录
Environment.GetFolderPath(Environment.SpecialFolder.CommonPictures)
//公用视频目录
Environment.GetFolderPath(Environment.SpecialFolder.CommonVideos)

.NET中获取Windows的常见路径的更多相关文章

  1. java如何从一段html代码中获取图片的src路径

    java如何从一段html代码中获取图片的src路径 package com.cellstrain.icell.Test; import java.util.ArrayList;import java ...

  2. Spring MVC中获取当前项目的路径

    Spring MVC中获取当前项目的路径 在web.xml中加入以下内容 <!--获取项目路径--> <context-param> <param-name>web ...

  3. IOS中获取各种文件的路径介绍及方法

    IOS中获取各种文件的目录路径的方法 技术交流新QQ群:414971585 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. docum ...

  4. [C#]中获取当前程序运行路径的方法

    获取当前程序运行路径: ①//获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集.string str = System.AppDomain.CurrentDoma ...

  5. 定时发布任务,在global.asax中获取文件的物理路径的方法

    如果要把一个相对路径或者虚拟路径映射道服务器的物理路径,通常会使用Server.MapPath()函数,比如将根目录下的html目录映射为物理路径:Server.MapPath("html& ...

  6. Asp.Net Core 中获取应用程序物理路径(Getting the Web Root Path and the Content Root Path in ASP.NET Core)

    如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径,如下所示: // Classi ...

  7. [转] ASPNET Core 中获取应用程序物理路径

    如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径,如下所示: // Classi ...

  8. .Net Core api 中获取应用程序物理路径wwwroot

    如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径,如下所示: // Classi ...

  9. 在HTML页面中获取当前项目根路径的方法

    在HTML页面获取项目根路径的方法: function getRootPath(){ var curPageUrl = window.document.location.href; var rootP ...

随机推荐

  1. ABP源码分析 - 约定注册(3)

    入口 //ConfigureServices foreach (var module in Modules) { if (module.Instance is AbpModule abpModule) ...

  2. Mybatis结果集映射问题

    之前的数据库图简单都是纯小写格式,这一次做项目为了显得正规一些,模拟实际的情况,采用了驼峰命名的规则,这时候就遇到了结果匹配的问题. 之前只要 <select id="select&q ...

  3. Codeforces Round #721 (Div. 2)A. And Then There Were K(位运算,二进制) B1. Palindrome Game (easy version)(博弈论)

    半个月没看cf 手生了很多(手动大哭) Problem - A - Codeforces 题意 给定数字n, 求出最大数字k, 使得  n & (n−1) & (n−2) & ...

  4. JavaScript学习④

    * BOM 1. 事件 ## DOM简单学习:为了满足案例要求 * 功能:控制html文档的内容 * 获取页面标签(元素)对象:Element * document.getElementById(&q ...

  5. 原生实现C#和Lua相互调用-Unity3D可用

    引言     本篇简单介绍如何在C#中执行Lua脚本,传递数据到Lua中使用,以及Lua中调用C#导出的方法等.在Unity中开发测试,并打IL2CPP的Android包在模拟器上运行通过.Lua版本 ...

  6. shell语法习题练习进阶版

    第4章 shell语法深度习题练习 4.1 使用if,case,函数的方法将服务改成system(centos6) 4.1.1 if方法 4.1.1.1 system实现 4.1.1.1.1 编写代码 ...

  7. JavaCV的摄像头实战之七:推流(带声音)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...

  8. 【Azure 应用服务】Azure Function 启用 Managed Identity后, Powershell Funciton出现 ERROR: ManagedIdentityCredential authentication failed

    问题描述 编写Powershell Function,登录到China Azure并获取Azure AD User信息,但是发现遇见了 [Error] ERROR: ManagedIdentityCr ...

  9. Bugku CTF练习题---社工---密码

    Bugku CTF练习题---社工---密码 flag:KEY{zs19970315} 解题步骤: 1.观察题目,思考题目要求 2.发现其中有姓名和生日这两个信息.从社工角度出发,感觉可能是名字+生日 ...

  10. JVM探究

    1.JVM探究 请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新? 什么是OOM,什么是栈溢出StackOverFlowError?怎么分析? JVM的常用调优参数有哪些? 内存快照如何抓取 ...