【发布时间】:2018-04-01 22:34:30
【问题描述】:
我目前正在使用批处理文件来运行一组模拟。批处理文件中的每一行读取:
"filepath\program.exe" "filepath\simulation.file"
引号用于限制文件路径中存在的任何空格。文件路径中没有空格,可以去掉引号。
当我通过 PowerShell 运行批处理文件时,使用以下命令,它工作正常:
.\batch.bat
运行可执行文件并将输出写入主机,就像我在 cmd 中运行相同的批处理文件一样。
但是,我想放弃批处理文件并直接通过 PowerShell 运行命令。当我运行以下命令时,我让程序执行,尽管它运行不正常并且我没有将任何内容写入主机。在我使用 Ctrl+C 取消之前,它似乎也会挂起。
& "filepath\program.exe" "filepath\simulation.file"
您能帮我解决以下问题吗?
- 任何讨论 PowerShell 如何执行批处理文件的资源。
- 如何在不使用 cmd 或批处理文件的情况下通过 PowerShell 运行可执行文件并将其写入主机。
【问题讨论】:
-
如果您提供实际路径、名称和详细信息,有人可能会提供更集中的响应。
-
从Powershell调用一个bat文件实际上是在后台无形地使用CMD。 PS 在后台使用 CMD 运行 bat 文件,然后将其输出显示在 PS 控制台中。如果
Start-Process或&都不能正常工作,听起来你的应用程序与PS Console 不兼容。
标签: powershell batch-file cmd