[英]running .bat in powershell script without opening any windows
我编写了一个PowerShell脚本,该脚本将解释命令的邮件正文,并创建一个.bat
文件以执行找到的突击队。 该脚本可以工作,但是一个大问题是,每当执行.bat
文件时,命令提示符窗口就会快速快速地闪烁在屏幕上。 我想知道是否有可能防止这种情况的发生?
$m.Body | Out-File cmd.bat -Encoding ascii -Append
.\cmd.bat | Out-File results.txt
我必须设置任何属性命令吗? 谢谢。
答案和信息可以在这里找到。
如果链接失效,从那里开始,选定的答案:
将“ testing.bat”替换为批处理文件的名称后,将以下内容另存为wscript,例如hidecmd.vbs。
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
oShell.Run的第二个参数是intWindowStyle值,该值指示程序窗口的外观,零值用于隐藏窗口。
我在撰写本文时意识到这个问题已有2年多的历史了,但是仍然没有官方的答案。 尽管我对PowerShell非常陌生,但我认为与使用vbscript或COM相比,我对Powershell的回答更纯正。
使用调用命令:
Invoke-Command {cmd.exe /c cmd.bat} | Out-File results.txt
这应该够了吧。 这将外壳到cmd.exe,并且/ c将在完成时自行终止外壳。 它将在当前shell中运行,因此不会打开新窗口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.