如何解析powershell脚本中相对或绝对文件名输入参数的绝对路径?
我正在创建一个脚本,生成一个输出文件,希望用户指定该文件的名称。名称可以作为相对路径或绝对路径输入。相对时,它与当前目录相对 给定此伪代码…:如何解析powershell脚本中相对或绝对文件名输入参数的绝对路径?,powershell,Powershell,我正在创建一个脚本,生成一个输出文件,希望用户指定该文件的名称。名称可以作为相对路径或绝对路径输入。相对时,它与当前目录相对 给定此伪代码…: function global:FileProduce() { Param([Parameter] [String] $dest) $absoluteDest=(DoSomething $dest) } …从c:\temp运行时,我希望以下输入产生以下输出($absoluteDest): 案例1: Input: $dest=foo.txt
function global:FileProduce() {
Param([Parameter] [String] $dest)
$absoluteDest=(DoSomething $dest)
}
…从c:\temp
运行时,我希望以下输入产生以下输出($absoluteDest
):
案例1:
Input:
$dest=foo.txt
Output:
c:\temp\foo.txt
案例2:
Input:
$dest=sub\bar.txt
Output:
c:\temp\sub\bar.txt
案例3:
Input:
$dest=c:\foo.txt
Output:
c:\foo.txt
- 我已经尝试了
,但是如果文件不存在,它就会失败解析路径
没有帮助,因为我希望路径相对于当前文件夹,而不是脚本的文件夹$PSScriptRoot
可以解析当前目录,但我不知道输入路径是相对路径还是绝对路径,因此Get Location
对于绝对路径将失败(Get Location+$dest)
- .NET将实现以下目标:
[System.IO.Path]::合并($pwd,$dest)
($pwd
是包含当前目录完整路径的