【问题标题】:GUI for batch file?批处理文件的GUI?
【发布时间】:2012-09-12 00:32:46
【问题描述】:

我有一个批处理文件,它是一个非常简单的程序,可以启动网站、迷你网络浏览器类型的体验、打开程序的命令等。我如何为这个或 GUI 制作界面?无需完全手动更改我的代码。这是我的代码的示例:

:start
@echo off
COLOR 1E
cls
echo Welcome to Wannow Dashboard.  This is the main page.
echo Type in the number to be redirected to your desired location.
echo 1. Useful Websites
echo 2. Programs     
echo Wannow Dashboard created by Brad Wannow

set/p var1=
if %var1% == 1 goto Websites
if %var1% == 2 goto program
pause
exit

:websites
COLOR 1E
cls
echo Welcome to Wannow Dashboard: Websites. Select a command, type in number to be redirected.
echo 1. www.Pandora.com
echo 2. www.Google.com
echo 3. Aventa Blackboard
echo 4. Other
@echo OFF 

@echo %time% 
ping -n 1 -w 1 127.0.0.1 1>nul        
echo Wannow Dashboard 

当然还有更多代码,但这是我的程序的编写方式,还有一些 START 命令和用户输入等。

【问题讨论】:

  • 图形命令在直接批处理文件中不可用。我建议你看看 vbscript 或 powershell
  • 然后我的代码是否必须完全改变,事情就不会一样了?我怎样才能把上面的代码改成vbscript并添加图形?
  • 有很多指南 - 这是vbscript 的帮助文件。是的,它会有所不同。 Echo Hello World 将变为 msgbox("Hello World") 并且输入看起来像 inputbox("What is your name?")(在非常基本的级别)
  • 好的,谢谢。我希望他们能自动转换我的代码。到.vbs,转换后会怎么样?
  • 没有自动转换,除非你有Visual Studio,没有免费的集成开发者,但notepad++似乎是首选编辑器,因为它的语法高亮

标签: user-interface windows-7 interface batch-file


【解决方案1】:

图形命令在直接批处理文件中不可用。我建议你看看 vbscript 或 powershell

有很多指南 - 这是vbscript 的帮助文件。是的,它会有所不同。 Echo Hello World 会变成 msgbox("Hello World") 并且输入看起来像 inputbox("What is your name?") (在非常基本的层面上)

没有自动转换,除非你有Visual Studio,没有免费的集成开发者,但notepad++似乎是首选编辑器,因为它的语法高亮

来自here,带有菜单的示例脚本

'-----------------------------------------------------------------
' Name: Menu Template Script
' By: Harvey Colwell
' CopyRight: (c) Jul 2000, All Rights Reserved!
'
'*****************************************************************
Option Explicit

Dim oFS, oWS, oWN

Set oWS = WScript.CreateObject("WScript.Shell")
Set oWN = WScript.CreateObject("WScript.Network")
Set oFS = WScript.CreateObject("Scripting.FileSystemObject")

'----------
' Script SetUp
'----------

'----------
' Main
'----------
Select Case InputBox ( _
"Enter menu item number then Click Ok. . ." & vbCrlf & vbCrlf & _
" [1] Item 1" & vbCrlf & _
" [2] Item 2" & vbCrlf & _
" [3] Item 3" & vbCrlf & _
" [4] Item 4", _
"Main Menu")

Case "1"
Call sub1()
Case "2"
Call sub2()
Case "3"
Call sub3()
Case "4"
Call sub4()
Case Else
WScript.Echo "You entered an invalid menu choice!"

End Select

'----------
' Clean Up
'----------

Call CleanUp

'-----------------------------------------------------------------
' Subroutines
'*****************************************************************

'---------------------
Sub CleanUp()
Set oWS = Nothing
Set oWN = Nothing
Set oFS = Nothing
WScript.Quit
End Sub

'---------------------
Sub sub1()
WScript.Echo "You selected Menu Item 1"
End Sub

'---------------------
Sub sub2()
WScript.Echo "You selected Menu Item 2"
End Sub

'---------------------
Sub sub3()
WScript.Echo "You selected Menu Item 3"
End Sub

'---------------------
Sub sub4()
WScript.Echo "You selected Menu Item 4"
End Sub

'-----------------------------------------------------------------
' Functions
'*****************************************************************
'---------------------

'***************************************

【讨论】:

  • 换行符吸引了我。原来有行号,当我把它们剪掉时,我剪掉了程序的一部分
  • 很抱歉,您如何打开 .vbs 文件?或者我用.etc打开什么?我应该用记事本++写还是什么?因为它不能作为一个 .vbs 文件工作并且像 .bat 一样打开?
  • 您应该能够双击该文件,或从命令行运行它,包括扩展名,例如C:\> test.vbs
  • 我在哪里包含扩展?抱歉,如您所见,我是编码世界的新手。对不起,如果我问的问题太多了。但是程序一直说第 4 行有一个语法错误,期待语句。
  • wscript 和/或 cscript 可用于运行 vbs 脚本,例如 cscript test.vbswscript test.vbs
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
  • 2011-03-22
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多