目次
検証環境
Path を操作する
yotiky.hatenablog.com
void Main()
{
var baseDir = @"C:\Projects\Sample1\Prj1\Assets";
var relativeDir = @"C:\Projects\Sample1\Prj2\Assets";
Path.GetFileName(baseDir).Dump();
var relativePath = Path.GetRelativePath(baseDir, relativeDir);
relativePath.Dump();
Path.GetFullPath(Path.Combine(baseDir, relativePath)).Dump();
}
Assets を含む相対パス
dataPath = @"C:\Projects\Sample1\Prj1\Assets";
private string DefaltDataDir => "Assets";
private string GetRelativePathFromAssetsDir(string targetPath)
{
var relativePath = Path.GetRelativePath(dataPath, targetPath);
relativePath = relativePath == "."
? DefaltDataDir
: Path.Combine(DefaltDataDir, relativePath);
return relativePath;
}
void Main()
{
var relativeDir = @"C:\Projects\Sample1\Prj2\Assets";
GetRelativePathFromAssetsDir(dataPath).Dump();
GetRelativePathFromAssetsDir(Path.Combine(dataPath, @"Data\Master")).Dump();
GetRelativePathFromAssetsDir(relativeDir).Dump();
}