最简单的选择是最小化启动事物。捷径目标:
cmd /c START /MIN \path\to\test.bat
或者
cmd /c START /MIN cmd /k ( ping 1.1.1.1 -w 10000 -n 1 && @ECHO All OK)
它没有隐藏或其他任何东西,但它不会出现在桌面上,或者更糟糕的是,它不会窃取焦点。
如果您希望窗口自行消失,“cmd /c ...”将实现这一点。“cmd /k ...”将使窗口保持打开状态。
@CodyGray 在他发布的 SU 链接中提到了 B 计划。有些程序不打开窗口,如 wperl、pythonw 或 wscript(在 Windows 上原生可用)。如果您可以将命令传递给其中一件事情,那么您可以有效地双击一个图标并让它“静默”运行。
如果 Perl 可用,我当然会使用它,因为您可以制作一些非常强大的单行代码,而无需创建其他文件。
wperl -MWin32 -MNet::Ping -e "$p=Net::Ping->new('icmp',10000); if ($p->ping('192.168.1.1')) { Win32::MsgBox('Ping Successful', 1 + MB_OK, 'All Good'); }"
在您的示例中,您将命令链接在一起,后者是通知。如果您不想为第一个命令打开一个窗口,那么当您通知用户某事时,第二个命令会很尴尬。让进程调用“cmd /c start cmd /c @echo Everything's OK”可能会做到这一点,但使用 CMD 窗口进行用户通知可能不是 HCI 人员会笑的。