我有一个简短的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/