我想将文件作为参数传递给:
Invoke-Sqlcmd $SqlQuery -InputFile $sqlPath
文件位于其他文件夹中。 Parent Folder -> Different Folder -> Desired File
我使用以下方式访问了Parent Folder
:
$sqlPath = Split-Path -Parent $PSScriptRoot
如何将最后一部分添加到$sqlPath
?这是我的第一个脚本,我不知道如何向该变量中添加\DifferentFolder\DesiredFile.sql
(字符串?)。
答案 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"
应该工作。