Windows CMD:从绝对路径获取相对路径

8
如何从绝对路径获取相对路径,例如将'C:\absolute\path\file.ext'转换为'path'?
感谢您的考虑。
编辑:我想递归扫描一个目录以查找某种文件类型,然后为包含此文件类型的这些文件夹创建符号链接。 符号链接应该命名为包含该文件类型的目录。

你可以在批处理文件中使用外部工具,例如GNUWin工具吗? - fardjad
我肯定可以,但如果可能的话,我会尽可能坚持使用内置例程。那么,对于grep来说,应该不是什么大问题,我猜? - DapperDan
“相对路径”是什么意思?因为absolute\name似乎也是一个同样有效的结果。它是相对于根目录的路径,而path是相对于C:\absolute\的路径。或者你是指父目录的名称? - MSalters
实际上,我需要获取包含文件的目录,例如'path'包含file.ext。我只需要从其余部分中裁剪出这个目录。 - DapperDan
1个回答

10

该函数可用
DosTips.com :MakeRelative

它比较两个路径并删除相同的前缀。
然后,对于每个不匹配的部分,它添加“..\”。


8
我总是对 Batch 中即使是最简单的编程任务都不仅仅是启动一堆可执行文件,而是简化为一系列难以理解的 for 循环感到惊讶。 :S (+1,顺便说一句) - Matteo Italia
看起来相当复杂,但应该能用;)我怎样才能在我的批处理文件中使用这个函数?只需要复制粘贴然后调用它吗? - DapperDan
@DapperDan:是的,复制粘贴是这种“函数库”的风格,包括在内会更加复杂。 - jeb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接