简体   繁体   English

从Powershell调用my.exe

[英]Call my.exe from powershell

I am calling an executable from powershell using: 我正在使用以下命令从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

Based on below answer it works with: 根据以下答案,它适用于:

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

But it fails when I do: 但是当我这样做时它失败了:

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

How do I pass options etc. to the executable in a parameter? 如何在参数中将选项等传递给可执行文件?

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

Or .$exe .$exe

It didn't work before as you $variable will just print value of a variable and to "execute" a variable you need to prefix it with a special character (either & or . ). 之前它没有用,因为$variable只会打印一个变量的值并“执行”一个变量,您需要在变量前加上特殊字符( &. )。 Now, with parameters you are doing the same again, you just pass a string variable which holds all of your parameters. 现在,对于参数,您将再次执行相同的操作,只需传递一个包含所有参数的字符串变量。 You need to pass array of parameters, like: 您需要传递参数数组,例如:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM