powershell - PowerShell不按顺序执行Invoke-Expression调用

标签 powershell

我有一个简短的PowerShell脚本,可以节省我的输入时间...也许将来在这段代码起作用时...

第一个表达式使用一些参数启动可执行文件(汇编器)。
如果此工具没有错误退出,则将在Python启动器py.exe的帮助下启动Python脚本。除此之外,我还收集所有格式化的汇编器文件(* .fmt)并将其删除。

当我运行此脚本时,首先执行Python脚本,然后运行汇编程序。

我在这里想念什么?

Invoke-Expression "..\asm\KCPSM6.exe -c4096 main_KC705.psm"

if ($LastExitCode -ne 0) {
    Write-Host "ERROR: KCPSM6.exe return with an error code." -ForegroundColor Red
    exit 1
} else {
    Invoke-Expression "py.exe -3 ..\py\psmProcessor.py -v main_KC705.log"

    $fileList = Get-ChildItem -Path ..\psm -Recurse -Filter *.fmt
    $fileList += Get-ChildItem -Path ..\lib -Recurse -Filter *.fmt
    $fileCount = $fileList.Count
    Write-Host "Deleting $fileCount temporary files."
    if ($fileCount -gt 0) {
        $fileList | Remove-Item
    }
}

最佳答案

尝试使用Start-Process来启动它,如下所示:

Start-Process X:\asm\KCPSM6.exe -argumentlist @("-c4096", "main_KC705.psm") -wait

有关如何启动可执行文件的更多信息,请参见此处:

Technet

关于powershell - PowerShell不按顺序执行Invoke-Expression调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26456473/

相关文章:

powershell - 如何通过Powershell将[Microsoft.TeamFoundation.Client.TeamFoundationServerFactory] ​​::GetServer与凭据一起使用

php - PHP Powershell cmdlet问题与管道符号和变量

powershell - Powershell中不带扩展名的文件输出

windows - 在 Windows 的注册表编辑器中递归创建 key

PowerShell cmdlet 显示属性,但无法通过 'select' 显示

c# - PowerShell 模块是否更接近 C# 中的类的 "thing"?

c#-4.0 - 使用 Microsoft PowerShell 编辑 Web Config 文件

powershell - 在 OU 中的每台计算机上获取本地管理员帐户

powershell - 使用服务帐户访问 G Suite Admin SDK

powershell - 无法为 DataGridView 中的特定行着色