首页 > 编程语言 >C#路径(\;.\;..\;..\..\)测试笔记

C#路径(\;.\;..\;..\..\)测试笔记

时间:2023-04-07 09:44:06浏览次数:25  
标签:个点 .. C# Demo 路径 笔记 文件夹 Directory

static void Main(string[] args)
{
/*文件路径分为绝对路径和相对路径。完整描述文件位置的路径就是绝对路径,相对于目标的位置就是相对路径。
* 绝对路径:是从盘符开始的路径,形如
C:\windows\system32\cmd.exe
*相对路径:是从当前路径开始的路径,例如
.\system32\cmd.exe
其中,.表示当前路径;..为父目录
在C#中,斜杠“\”是转义字符,表示路径是采用“\\”代替“\”,避免把这个字符解释为转义字符。如
*“c:\\microfoft\\readme.txt”,也可以用“@”代替,
在路径前加“@”符号,“\”就不会再被解释为转义符。如:@"c:\microfoft\readme.txt”。
*/
string f0 = @"\0个点没有文件夹";
string f1 = @".\1个点文件夹";
string f2 = @"..\2个点文件夹";
string f22 = @"..\..\上2级目录";
string strPath = AppDomain.CurrentDomain.BaseDirectory;
//程序属性-->输出路径-->bin\Debug\
Console.WriteLine($"当前程序运行基目录:{strPath}");
// 当前程序运行基目录:D:\VS测试\Demo\Demo\bin\Debug\

if (!Directory.Exists(f0))
{
Directory.CreateDirectory(f0);
}
Console.WriteLine($"\\0个点没有文件夹-路径:{Path.GetFullPath(f0)}");
// \0个点没有文件夹-路径:D:\0个点没有文件夹
if (!Directory.Exists(f1))
{
Directory.CreateDirectory(f1);
}
Console.WriteLine($".\\1个点文件夹-路径:{Path.GetFullPath(f1)}");
// .\1个点文件夹-路径:D:\VS测试\Demo\Demo\bin\Debug\1个点文件夹
if (!Directory.Exists(f2))
{
Directory.CreateDirectory(f2);
}
Console.WriteLine($"..\\2个点文件夹-路径:{Path.GetFullPath(f2)}");
// ..\2个点文件夹-路径:D:\VS测试\Demo\Demo\bin\2个点文件夹
if (!Directory.Exists(f22))
{
Directory.CreateDirectory(f22);
}
Console.WriteLine($"..\\..\\上2级目录-路径:{Path.GetFullPath(f22)}");
// ..\..\上2级目录-路径:D:\VS测试\Demo\Demo\上2级目录
Console.ReadKey();
}
}

标签:个点,..,C#,Demo,路径,笔记,文件夹,Directory
From: https://www.cnblogs.com/buukma/p/17294957.html

相关文章

  • K8S 高可用外部 etcd 运行时 (三) 使用Flannel网络
    kubectlapply-fkube-flannel.yml---kind:NamespaceapiVersion:v1metadata:name:kube-flannellabels:k8s-app:flannelpod-security.kubernetes.io/enforce:privileged---kind:ClusterRoleapiVersion:rbac.authorization.k8s.io/v1metadata:......
  • Android存储用户登录信息最好的方式之一-Shared Preferences
    对于Android应用程序,存储用户登录信息的最佳方式是使用SharedPreferences。SharedPreferences是Android提供的一个轻量级存储机制,可以存储简单的键值对数据。它非常适合存储用户设置、用户偏好和其他应用程序数据,包括登录信息。SharedPreferences具有以下优点:轻量级:Shared......
  • VSCode自建vue示例模板
    步骤打开File->Preferences->ConfigureUserSnippets选择NewGlobalSnippetsfile...输入名字(自定义),填入以下内容,注意修改vue.js路径{"Printtoconsole":{"prefix":"vue","body":["<scrip......
  • 20 An identity-based data aggregation protocol for the smart grid
    ......
  • K8S 高可用外部 etcd , Docker 容器运行时 (三) 加入K8S集群
    control-plane上执行1、#证如果过期了,可以使用下面命令生成新证书上传,这里会打印出certificatekey,后面会用到kubeadminitphaseupload-certs--upload-certs#你还可以在【init】期间指定自定义的--certificate-key,以后可以由join使用。要生成这样的密钥,可以使用以下......
  • Semantic Kernel 知多少 | 开启面向AI编程新篇章
    引言在ChatGPT火热的当下,即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻。当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT模型AI应用的落地探索。因此,可以明确预见的是,AI能力的集成将会是很多应用都将面临的第一事项,而拥有......
  • scrapy通用爬虫及反爬技巧
    一、通用爬虫通用爬虫一般有以下通用特性:爬取大量(一般来说是无限)的网站而不是特定的一些网站。不会将整个网站都爬取完毕,因为这十分不实际(或者说是不可能)完成的。相反,其会限制爬取的时间及数量。在逻辑上十分简单(相较于具有很多提取规则的复杂的spider),数据会在另外的阶......
  • Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
    JavaBasePooledObjectFactory对象池化技术通常一个对象创建、销毁非常耗时的时候,我们不会频繁的创建和销毁它,而是考虑复用。复用对象的一种做法就是对象池,将创建好的对象放入池中维护起来,下次再用的时候直接拿池中已经创建好的对象继续用,这就是池化的思想。ApacheCommonsPoo......
  • (C#)Random实现随机点名
    namespaceWindowsFormsApp3{publicpartialclassForm1:Form{//实例化字符串,设置字符串长度与内容string[]student=newstring[7]{"张三","李四","王五","赵六","hello","world","helloworl......
  • docker使用openJDK导致图片验证码错误
    简介:docker使用openJDK导致Excel导出问题问题:本地环境导出Excel正常,测试环境导出Excel失败image.png看到上方报错日志开始以为是初始化WorkBook失败导致的空指针问题image.png后来打印了WorkBook对象发现并不是这个原因导致的空指针解决办法经排查发现开发项目的时候都是......