powershell - 如何从PowerShell运行* .exe文件

标签 powershell invoke-command

我在C:\ Folder有一个文件夹,其中包含文件input.xml,output.xml和licensegenerator.exe。 Licensegenerator.exe接受我们放入input.xml中的变量,并使用output.xml文件为我们的程序之一创建临时许可证。我们通常通过导航到C:\ Folder目录,然后运行以下命令来通过命令行执行此操作:

LicenseGenerator.exe "C:\Folder\input.xml" "C:\Folder\output.xml"

我正在尝试编写脚本以在PowerShell中执行完全相同的操作,但是我正在努力……这就是我所拥有的:
$inputtest = "C:\Folder\Input.xml"
$outputtest = "C:\Folder\Output.xml"
$licensegen = "C:\Folder\LicenseGenerator.exe"

Invoke-Command $licensegen "$inputtest" "$outputtest"

运行此命令时,出现错误:

Invoke-Command:找不到可以接受参数的位置参数
'C:\ Folder \ Output.xml'。
在第5行char:1
+调用命令$ licengegen“$ inputtest”“$ outputtest”
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
+ CategoryInfo:InvalidArgument:(:) [Invoke-Command],ParameterBindingException
+ FullyQualifiedErrorId:PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeCommandCommand

我也尝试过使用Invoke-Expression运行,但是得到了完全相同的错误(除了开始时显示“Invoke-Expression”)。有人知道我在做什么错吗?

最佳答案

您正在寻找call operator:

& $licensegen "$inputtest" "$outputtest"

Invoke-Command 本质上是用于在其他主机上和/或在其他用户上下文中运行脚本块。

关于powershell - 如何从PowerShell运行* .exe文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006998/

相关文章:

powershell - 对空值表达式的错误处理方法调用

java - 在 JSP 中调用 Java 方法

Powershell - 手动触发计划作业

arrays - 阵列访问的奇怪天花板

Powershell - 将多个参数传递给 Invoke-Command

silverlight - 在 XAML 中按下 "ENTER"键时调用命令

powershell - 如何在Powershell中转义Invoke-Webrequest

powershell - 通过Jenkins运行Powershell脚本时出现此错误: “NativeCommandError” not sure how to use invoke-command

powershell - 找出文件是否是 PowerShell 中的符号链接(symbolic link)

.net - 以管理员身份远程安装 Net Framework 4