我有这个应用程序路径:
C:\ Documents and Settings \ david \ My Documents \ app \
文件路径:
C:\ Documents and Settings \ david \ My Documents \ app \ stuff \ file.txt
如何从文件路径修剪应用程序路径,使其成为stuff \ file.txt?作为我正在使用的命令行工具之一的原因不支持文件路径中的空格。
答案 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""";