首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第二个bat不执行PowerShell脚本

第二个bat不执行PowerShell脚本
EN

Stack Overflow用户
提问于 2022-07-06 15:50:19
回答 2查看 49关注 0票数 0

下面的bat文件是由PowerShell脚本调用的,但是只有bat1.bat被执行,其他的bat2.bat和last.bat没有被调用

代码语言:javascript
复制
#first bat

Start-Process "C:\bat1.bat" -Wait

#run second bat
Start-Process "C:\bat2.bat" -Wait

#run last bat  
cmd.exe /c '\last.bat'

我们非常感谢您的支持。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-08 01:02:16

试着使用以下方法:

代码语言:javascript
复制
Set-Location C:\temp

Start-Process .\bat1.bat -Wait
Write-Host "bat1.bat DONE"

Start-Process .\bat2.bat -Wait
Write-Host "bat2.bat DONE"

cmd /c .\last.bat
Write-Host "last.bat DONE"

我创建了以下.bat文件:

bat1.bat

代码语言:javascript
复制
@ECHO OFF
ECHO bat1
PAUSE

bat2.bat

代码语言:javascript
复制
@ECHO OFF
ECHO bat2
PAUSE

final.bat

代码语言:javascript
复制
@ECHO OFF
ECHO final

当运行PS脚本时,所有3个都如人们所期望的那样运行。

如果前面的进程完成,放置写主机将显示在控制台中。

编辑:

我之前没有给出太多的解释,对不起。

您的问题是,其中一个.bat文件尚未完成。

您所使用的语法应该运行bat1.bat和bat2.bat。"cmd.exe /c“\last.bat将失败。如果不设置c:的路径,则需要"c:\last.bat”。如果要这样做,则需要".\last.bat“。

为了确保您的脚本能够工作,我创建了3个基本的.bat文件,这些文件的功能仅仅是记录与它们相关的字符串。这样做可以保证,如果出了什么问题,那就是PS代码,而不是.bat代码。

在验证您的脚本将运行后,我创建了我提供的脚本。使用设置位置是不必要的,但我认为它使代码看起来更清晰。每个进程之后的写主机将登录到脚本正在移动到下一个进程的PS控制台中。

票数 0
EN

Stack Overflow用户

发布于 2022-07-08 01:13:07

为什么不试试

代码语言:javascript
复制
CALL "C:\bat1.bat"
CALL "C:\bat2.bat"
\last.bat

并完全避免使用强力气味?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72886544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档