Powershell: passing parameters to a job

前端 未结 2 1682
野性不改
野性不改 2021-01-06 00:31

I have a script that requires a number of parameters:

param ([string]$FOO=\"foo\",[string]$CFG=\'\\ps\\bcpCopyCfg.ps1\', [string]$CFROM=\"none\", `
[string]$         


        
2条回答
  •  猫巷女王i
    2021-01-06 01:20

    Another way is to put the @ before the array. I changed the $ARGS variable to $flags to differentiate $args in the scriptblock from $flags.

    $flags = @("-CFG ", $CFG, "-CSYBDB ", $SYBDB, "-CMSDB ",$MSDB, "-CFROM ", $SYBTBL, "-CTO ",$MSTBL)
    
    If($FULL) {
        $flags = $flags + " -FULL"
    }
    Else {
       $flags = $flags + " -CCOL $($args[5])  "
    }
    "Argument array:"
    $flags
    
    start-job  -scriptblock {powershell.exe -file '\ps\bcpCopy.ps1' $args} -ArgumentList $flags
    

提交回复
热议问题