首页 > 解决方案 > 如何在 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

标签: powershell

解决方案


.NET 的Path.Combine将完全实现:

[System.IO.Path]::Combine($pwd, $dest)

$pwd是一个包含当前目录完整路径的自动变量)


推荐阅读