我正在使用以下命令从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