可能重复:
运行完全隐藏的批处理文件
在 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();
}