使用批处理的GUI

当您尝试使用Windows Batch进行操作时,您通常会考虑使用文本程序,但是我想知道是否在命令窗口中使用了stringinput,而不是使用stringinput,并且显示消息在一个MsgBox 。 另外,如果可以隐藏控制台窗口。

不要紧,如果需要VBScript,但只有批次应该是对我来说更好

Solutions Collecting From Web of "使用批处理的GUI"

在DOS下有GUI程序,请记住在98 SE之前的所有Windows版本都是从DOS开始的(当然不是基于NT核心的操作系统,就像我们现在都在使用的那样)。

假设你没有计划编写一个DOS应用程序( qbasic可以做到这一点,我认为)。 你可以做一些事情。

基于DOS的菜单 ,简单的用户界面,你可以在键盘上使用数字进行导航。 如果您不想使用上述任何解决方案,则可以使用批处理文件来启动Windows应用程序。

还有一些解决方案可以启动应用程序,甚至可以使用系统编译器编译所需应用程序的代码。 你可以开始隐藏DOS窗口,这取决于你从哪里开始。

你可能想看看AutoIt ,你可以创建可执行文件( 不需要依赖 ),它不会打开控制台窗口。 您可以创建GUI窗口或仅弹出简单的输入或消息框。

我建立的大多数自动化程序/脚本都在AutoIt中。

没有额外的工具,你不可能单独使用批处理文件。 VBScript使得显示一个输入框或消息框不重要。 从一个批处理文件中,你只能显示一个消息框,那个人甚至不是很漂亮。

你当然可以隐藏控制台窗口( ShowWindow将这样做),但是,你需要另一个程序来为你做。 另外,如果已经从一个shell启动了,那么隐藏它并不好 – 让批处理文件提前终止,并且在某个地方隐藏了一个控制台窗口。

我建议你使用几乎和纯批处理文件一样多的机器上运行的VBScript,这个数量级更适合你想要的东西。

我认为最接近你将得到的只是Windows批处理是使用SET /P variable=[promptString]命令提示用户输入。

我曾经在一个有很多批处理脚本的地方工作,这些脚本需要大量的参数传递给他们,用户(非技术人员)发现了尴尬和混乱(有理由如此)。 我为这些脚本创建了一个GUI“包装器”,它将解析每个批处理文件并为其参数创建一个动态GUI。 用户可以点击一个按钮来运行脚本; 我会掏出一个不可见的控制台,捕获输出,并显示在一个可滚动的文本框中。 用户然后可以将结果复制到剪贴板或将其保存到文本文件。 也许你可以为你的脚本做这样的事情?

我试图用批处理文件做到这一点,但一段时间后放弃。 相反,我很满意我找到的解决方案。 Check FroG让你用XML创建漂亮而灵活的GUI。 在他们的网站上有样品给你一个想法。 还有一个奇才学徒(类似的东西),也是基于XML的,但是相当有限。 有一些更强大的选择,但看起来你不想涉及复杂的东西。 所以我不会使答案复杂化。

您可以使用批处理创建VBS文件,执行该文件并在完成后将其删除:

 @echo off md temp cd temp ( echo Do echo X=MsgBox^("This is an example of GUI using batch and VBS.",0+64,"Example"^) echo X=MsgBox^("Do you want to exit this application?",4+32,"Exit"^) echo If X=6 Then echo Exit Do echo End If echo Loop ) > gui.vbs gui.vbs cd .. ( echo dim filesys echo set filesys = CreateObject^("Scripting.FileSystemObject"^) echo filesys.DeleteFolder "temp" ) > delTemp.vbs delTemp.vbs del delTemp.vbs