C#装饰应用程序路径
问题描述:
我有这样的应用程序路径:C#装饰应用程序路径
C:\ Documents和Settings \大卫\我的文档\程序\
和文件路径:
C:\ Documents and Settings \ david \ My Documents \ app \ stuff \ file.txt
怎么可以我从文件路径修剪应用程序路径,以便它变成东西\ file.txt?作为我正在使用的命令行工具之一的原因不支持文件路径中的空格。
答
试试这个:
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();
相关文档:
+0
即使我意识到我忘记了将这条路径放在旁边,这确实会派上用场。谢谢。 – david 2010-11-06 10:47:53
答
我不知道哪个命令您使用的工具,但通常他们的工作,如果我们用引号括起来的字符串/路径这样
“C:\ Documents和Settings \大卫\我的文档\应用\东西\ file.txt的”
答
不知道为什么正常的字符串替换不会做:
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""";
只是一个猜测,但你有没有尝试包装路径paranthesis'''当它提供给你的公司命令行工具? – Peter 2010-11-06 10:37:13
我觉得自己像个白痴,谢谢你让我知道。当用它们封闭路径时它工作正常。 – david 2010-11-06 10:47:29