将所需的字符串添加到拆分路径

时间:2019-05-20 10:18:29

标签: powershell

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

Invoke-Sqlcmd $SqlQuery -InputFile $sqlPath

文件位于其他文件夹中。 Parent Folder -> Different Folder -> Desired File

我使用以下方式访问了Parent Folder

$sqlPath = Split-Path -Parent $PSScriptRoot

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

您要做的是“字符串连接”,基本上是添加两个字符串以形成一个更长的字符串,PowerShell有一些方法,但是+有用。

您还说过要更新$sqlpath,所以

   $sqlpath = $sqlpath + "\DifferentFolder\DesiredFile.sql"

应该工作。