可以使用以下代码实现获取相对路径:

function getRelativePath(sourcePath, targetPath) {
  // 将路径中的反斜杠转换为斜杠
  sourcePath = sourcePath.replace(/\\/g, '/');
  targetPath = targetPath.replace(/\\/g, '/');
  
  // 分割路径为数组
  var sourceArr = sourcePath.split('/');
  var targetArr = targetPath.split('/');
  
  // 如果路径不在同一盘符下,则直接返回目标路径
  if (sourceArr[0] !== targetArr[0]) {
    return targetPath;
  }
  
  // 去掉共同的父级目录
  while (sourceArr[0] === targetArr[0]) {
    sourceArr.shift();
    targetArr.shift();
  }
  
  // 获取相对路径
  var relativePath = '';
  for (var i = 0; i < sourceArr.length; i++) {
    relativePath += '../';
  }
  relativePath += targetArr.join('/');
  
  return relativePath;
}

var sourcePath = 'C:/Users/Snowy/Desktop/TS';
var targetPath = 'C:\\Users\\Snowy\\Desktop\\TS\\⭐健康.md';

var relativePath = getRelativePath(sourcePath, targetPath);
console.log(relativePath);

运行以上代码,将输出相对路径:../⭐健康.md

给定两个路径根据第一个路径获取相对路径并用js实现CUsersSnowyDesktopTSCUsersSnowyDesktopTS⭐健康md

原文地址: https://www.cveoy.top/t/topic/iyk9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录