Call my.exe from powershell



我正在使用以下命令从powershell调用可执行文件:

  $MyApp = .MyApp_2.3.64.exe
  #$MyApp = ".MyApp_2.3.64.exe"
  #$MyApp = '.MyApp_2.3.64.exe'      
  $Options = "transform data.csv -output out -verbose $user"
  $MyApp transform data.csv -output out -verbose $user
  $MyApp $Options
  # Works
  .MyApp_2.3.64.exe transform data.csv -output out -verbose $user

基于以下答案,它适用于:

  & $MyApp transform data.csv -output out -verbose $user

但是当我这样做时它会失败:

  $options = "transform data.csv -output out -verbose $user"
  # $options = 'transform data.csv -output out -verbose $user'
  & $MyApp $options

如何将选项等传递给参数中的可执行文件?

$exe =  ".MyApp_2.3.64.exe"
& $exe transform data.csv -output out -verbose

或者.$exe

它以前不起作用,因为您$variable只会打印变量的值并"执行"变量,您需要在它前面加上特殊字符(&.)。现在,使用参数,您再次执行相同的操作,只需传递一个包含所有参数的字符串变量。您需要传递参数数组,例如:

$exe =  ".MyApp_2.3.64.exe"
$params = ("transform", "data.csv", "-output", "out", "-verbose")
& $exe $params

最新更新