首页 > 解决方案 > 将所需的字符串添加到拆分路径

问题描述

我想将文件作为参数传递给:

Invoke-Sqlcmd $SqlQuery -InputFile $sqlPath

该文件位于不同的文件夹中。Parent Folder -> Different Folder -> Desired File

我访问了Parent Folder使用:

$sqlPath = Split-Path -Parent $PSScriptRoot

如何将最后一部分添加到$sqlPath?这是我的第一个脚本,我不知道如何将\DifferentFolder\DesiredFile.sql(字符串?)添加到这个变量中。

标签: powershell

解决方案


您可以使用字符串插值来执行此操作:

$sqlPath = "$(Split-Path $PSScriptRoot -Parent)\DifferentFolder\DesiredFile.sql"

如果将变量放在双引号字符串中,PowerShell 将在运行时为您替换它们。更灵活的是能够使用 sub-expression 将可执行代码放入字符串中(如我的示例所示)$(...)。但是,请注意不要使用太多代码使字符串不可读。在某些情况下,最好将其拆分为多个步骤:

$parentFolder = Split-Path $PSScriptRoot -Parent
$sqlPath = "$parentFolder\DifferentFolder\DesiredFile.sql"

推荐阅读