是否有直接的方法(通过使用cmdlet或.NET类)来获取给定路径中子文件夹中文件的相对路径?
例如,当前文件夹为C:\MyScript
,并且有一个名为Data
的子文件夹,文件为Test.txt
,因此我希望Data\Test.txt
代替{{1} }}
答案 0 :(得分:76)
Resolve-Path
cmdlet有一个-Relative
参数,该参数将返回相对于当前目录的路径:
Set-Location C:\MyScript
$relativePath = Get-Item Data\Test.txt | Resolve-Path -Relative
答案 1 :(得分:1)
如果目录不存在,或者基目录应该与当前工作目录不同,则有一个 .NET 方法 [IO.Path]::GetRelativePath(String from, String to)
。