我编写了一个PowerShell脚本,用于解释命令的邮件正文,并创建一个.bat
文件来执行它找到的突击队。
这个脚本有效,但一个大问题是无论何时执行.bat
文件,命令提示窗口都会快速闪烁在屏幕上。我想知道是否可以防止这种情况发生?
$m.Body | Out-File cmd.bat -Encoding ascii -Append
.\cmd.bat | Out-File results.txt
我必须设置任何属性命令吗? 感谢。
答案 0 :(得分:1)
可以找到答案和信息here。
从那里,选择的答案,以防链接过时:
将以下内容保存为wscript,例如,在替换" testing.bat"之后将hidecmd.vbs保存。使用批处理文件的名称。
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
oShell.Run的第二个参数是intWindowStyle值,表示程序窗口的外观,零值表示隐藏窗口。
答案 1 :(得分:0)
我在撰写本文时意识到这个问题已有2年多的历史了,但是仍然没有官方的答案。尽管我是PowerShell的新手,但我认为与使用vbscript或COM相比,我对Powershell的回答更纯正。
使用调用命令:
Invoke-Command {cmd.exe /c cmd.bat} | Out-File results.txt
那应该可以解决问题。这将外壳到cmd.exe,并且/ c将在完成时自行终止外壳。它将在当前外壳中运行,因此不会打开新窗口。