如何运行.cmd文件命令隐藏,以便它们在运行时不显示

时间:2017-11-26 16:04:41

标签: powershell batch-file cmd

我目前有一个.cmd文件,它在启动时运行以下两个命令

PowerShell -Command "Set-ExecutionPolicy Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1
PowerShell C:\Users\elias\Desktop\Script123.ps1 >> "%TEMP%\StartupLog.txt" 2>&1

但是当它在启动时运行时会显示命令提示符。我想知道无论如何在没有显示命令提示符的情况下运行它。

谢谢

3 个答案:

答案 0 :(得分:0)

直接调用.cmd文件 总会打开一个控制台窗口,因此您需要通过隐藏它的包装器可执行文件来调用它:

我的<This answer包含一个VBScript脚本,就是这样做的;假设您已将其保存为当前目录中的runHidden.vbs,并且您想要从当前目录调用some-batch-file.cmd

wscript .\runHidden.vbs cmd "/c .\some-batch-file.cmd"

答案 1 :(得分:0)

在代码的开头尝试powershell -command "& { $x = New-Object -ComObject Shell.Application; $x.minimizeall() }"

此命令可以最小化所有窗口。

我希望这会有所帮助,如果您有任何其他问题,请在下面发表评论。

答案 2 :(得分:0)

使用VBScript创建一个包装器:

Option Explicit
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c blah.cmd", 0, False

然后将启动项更改为

wscript.exe wrapper.vbs