隐藏了 DOS 框的批处理文件?

隐藏了 DOS 框的批处理文件?

可能重复:
运行完全隐藏的批处理文件

在 XP(SP3)上,有没有办法运行批处理文件而不显示 DOS 框(不仅仅是最小化)?

我尝试了几种方法,包括“EXIT /B”、“GOTO:EOF”和 Erik Heijnen 的控制台工具,但无济于事。

谢谢。


编辑:当我们只需要传递参数时,这是一个简单的解决方案:在桌面添加一个快捷方式,并修改其目标参数以传递参数:

"C:\Program Files\Acme\MyApp\MyApp.exe" /MYSWITCH 123

答案1

这个问题已经在 SuperUser 上提出过,并且有很多很好的答案:


最佳答案是:

将这一行文本保存为文件invisible.vbs

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

要以不可见的方式运行任何程序或批处理文件,请按如下方式使用:

wscript.exe“C:\Wherever\invisible.vbs”“C:\Some Other Place\MyBatchFile.bat”

答案2

将批处理转换为服务。

创建一个新的 C# Windows 应用程序并从主程序中调用此方法:

公共静态 void RunBatchFile(string filename) { Process process = new Process();

process.StartInfo.FileName = filename;

// suppress output (command window still gets created)
process.StartInfo.Arguments = "> NULL";

process.Start();
process.WaitForExit();

}

相关内容