使用批处理文件将路径参数传递到电源shell脚本

时间:2012-08-08 04:45:00

标签: powershell batch-file

我想传递一个路径变量 - > 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"

1 个答案:

答案 0 :(得分:1)

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

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

替换:

param ([string]$w)

使用:

$w

它出现在您的脚本中。