powershell - 如何在 powershell 脚本中解析相对或绝对文件名输入参数的绝对路径?
问题描述
我正在创建一个脚本,该脚本生成一个我希望用户指定名称的输出文件。名称可以作为相对路径或绝对路径输入。当相对时,它是相对于当前目录
鉴于此伪代码...:
function global:FileProduce() {
Param([Parameter] [String] $dest)
$absoluteDest=(DoSomething $dest)
}
..当运行时,c:\temp
我希望以下输入产生以下输出($absoluteDest
):
情况1:
Input:
$dest=foo.txt
Output:
c:\temp\foo.txt
案例二:
Input:
$dest=sub\bar.txt
Output:
c:\temp\sub\bar.txt
案例3:
Input:
$dest=c:\foo.txt
Output:
c:\foo.txt
- 我试过
Resolve-Path
了,但如果文件不存在,它会失败。 $PSScriptRoot
没有帮助,因为我希望路径相对于当前文件夹,而不是脚本的文件夹Get-Location
可以很好地解析当前目录,但我不知道输入路径是相对路径还是绝对路径,因此(Get-Location + $dest)
绝对路径会失败。