C#修剪应用程序路径

时间:2010-11-06 10:33:21

标签: c# file path startup trim

我有这个应用程序路径:

  

C:\ Documents and Settings \ david \ My Documents \ app \

文件路径:

  

C:\ Documents and Settings \ david \ My Documents \ app \ stuff \ file.txt

如何从文件路径修剪应用程序路径,使其成为stuff \ file.txt?作为我正在使用的命令行工具之一的原因不支持文件路径中的空格。

3 个答案:

答案 0 :(得分:2)

试试这个:

Uri path = new Uri(@"C:\Documents and Settings\david\My Documents\app\stuff\file.txt");
Uri workingDirectory = new Uri(Directory.GetCurrentDirectory());
string relativePath = workingDirectory.MakeRelativeUri(path).ToString();

相关文档:

答案 1 :(得分:0)

我不知道您使用的是哪种命令工具,但通常它们可以工作,如果我们将字符串/路径括在这样的引号中

“C:\ Documents and Settings \ david \ My Documents \ app \ stuff \ file.txt”

答案 2 :(得分:0)

不确定为什么普通的字符串替换不会:

string filePath = @"C:\Documents and Settings\david\My Documents\app\stuff\file.txt";
string appPath = @"C:\Documents and Settings\david\My Documents\app\";
string trimmed = filePath.Replace(appPath, "");

但是,如果只是将完整路径括在引号(")中,大多数命令行工具都可以使用空格:

string escapedPath = @"""C:\Documents and Settings\david\My Documents\app\stuff\file.txt""";