如何获取相对文件名到特定目录?

| 我有一个正在做文件复制的方法。用户在命令行上指定\'root \',我用
Path.GetFullPath(input)
进行了清理。 我需要获取相对于该根目录的文件路径,因此将返回以下情况:
Root        FilePath                    Return
y:\\         y:\\temp\\filename1.txt       temp\\filename1.txt
y:\\dir1     y:\\dir1\\dir2\\filename2.txt  dir2\\filename2.txt
    
已邀请:
你可以写
var relative = new Uri(rootPath).MakeRelativeUri(new Uri(filePath));
http://msdn.microsoft.com/en-us/library/system.uri.makerelativeuri.aspx     
System.IO.Path.GetFullPath( filePath ).Substring( rootPath.Length )
    
string relativePath = Path.GetFullPath(input).Replace(rootPath, \"\");
    
string s1 = \"y:\\\\\";
string s2 = \"y:\\\\temp\\filename1.txt\";
Console.WriteLine(s2.Substring(s1.Length)); \\\\ Outputs temp\\filename1.txt
希望这可以帮助 可能还想调用.Trim(),以确保删除结尾的\\字符等。     

要回复问题请先登录注册