如何从PowerShell运行多个CMD命令提示
因此,我正在尝试编写一个脚本,使我可以打开几个CMD命令提示符并在其中写入相同的命令,但具有不同的变量。
我带来的解决方案是编写一个powershell脚本,该脚本在循环中调用CMD文件,并每次将变量传递到CMD文件,但我被困了,PowerShell脚本仅执行一个CMD。
有人可以帮助解决这个问题吗?
谢谢 :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用以下内容:
例如
You can use the following :
for example
穆罕默德·赛义德(Mohamed Saeed /em>在当前控制台窗口中。
相比之下,如果您要打开多个 Interactive
cmd.exe
sessions,异步 ,每个在其独立的新窗口中< /em>,使用cmd.exe
's/k
选项和Indokecmd.exe
通过start-process
注意:
,除非您的
cmd.exe
控制台窗口具有,让系统定位窗口
默认情况下的属性对话框中的复选框,所有新窗口都将完全重叠,以便您立即看到最后一个打开。最后打开的新窗口将具有键盘焦点。
传递给
/k
的命令被立即执行,但然后输入交互式会话。mohamed saeed's answer shows you to execute
cmd.exe
commands synchronously, in sequence in the current console window.If, by contrast, you want to open multiple interactive
cmd.exe
sessions, asynchronously, each in its separate, new window, usecmd.exe
's/k
option and invokecmd.exe
viaStart-Process
:Note:
Unless your
cmd.exe
console windows have theLet the system position the window
checkbox in the Properties dialog checked by default, all new windows will fully overlap, so that you'll immediately only see the last one opened.The last new window opened will have the keyboard focus.
The commands passed to
/k
are instantly executed, but an interactive session is then entered.如果您想保留纯粹的批处理,则可以使用start命令。 /k开关保持命令行打开。如果要执行命令并终止命令,则会使用 /c:
从PowerShell中,可以使用参数列表使用start-process命令:
If you would like to keep in purely batch, you can use the start command. The /k switch keeps the command line open. You would use /c if you want to carry out the command and terminate :
From powershell, you can use the Start-Process command with an ArgumentList: