1

我想将路径变量 --> param ([string]$w) 传递到另一个参数中,该参数将路径存储在 power shell 脚本中。然后使用另一个批处理文件调用这个 power shell 脚本。我未能传入 $ ,它是完成完整路径的文件夹名称。请建议我解决这个问题

$FilePath = "C:\Root\Main\Subfolder\param ([string]$w)\Table\" 
$FileExists = Test-Path $FilePath 

  If ($FileExists -eq $True) 
     { Get-ChildItem -path C:\Root\Main\Subfolder\param ([string]$w)\Table\ -Recurse -Filter *.sql |
      ` Sort-Object -Property DirectoryName -Desc | `
      Foreach-Object -Process {$_.FullName } |ForEach-Object {sqlcmd -i $_}
     }

  Else {Write-Host "No file at this location"}

这是我的批处理文件命令行

 PowerShell.Exe -File C:\Users\AZ\Desktop\PowerShell\untitled7.ps1 "Payment"
4

1 回答 1

1

尝试将其放在脚本的顶部:

param(
        [Parameter(
                    Mandatory=$true,
                    Position=0,
                    HelpMessage='Set path variable')]
        [string] $w
)

代替:

param ([string]$w)

和:

$w

它出现在脚本中的位置。

于 2012-08-08T06:53:35.330 回答