Solved

How do I convert a DOS batch file into a VB Script?

Posted on 2008-06-16
4
804 Views
Last Modified: 2010-04-21
I would like to be able convert a DOS batch file to a VB Script. This is the batch file I have:
@echo off

:BEG
cls
echo.
echo.
set /p snumber= Enter the song number:
echo.

:CONFIRMATION
set /p answer= You entered song %snumber%. Correct (Y,N)?
if /i %answer% EQU Y goto :PLAY
if /i %answer% EQU N goto :BEG
goto :CONFIRMATION

:PLAY
start C:\MP3\HA%snumber%.mp3

:END
0
Comment
Question by:giloliveira
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 24

Expert Comment

by:purplepomegranite
ID: 21801242

dim wsh, chosen
chosen=false
while not chosen
	i=InputBox("Enter the song number:", "Choose song")
	if MsgBox("You chose song " & i & vbcrlf & "Is this correct?",4,"Confirm")=6 then
		' User confirmed ok
		chosen=true
		' Play song
		set wsh = CreateObject("WScript.Shell")
		wsh.run("""c:\MP3\HA" & i & ".mp3""")
		set wsh=nothing
	end if
wend
		
	

Open in new window

0
 

Author Comment

by:giloliveira
ID: 21804916
This almost works. The problem I am finding with this script is that when the InputBox opens, if I click on the Cancel button, the scrip will continue to run instead of closing. How can I make the script to close if I select the Cancel button.
Also, is it possible to have the number entered on the first box to be shown in bold on the confirmation box?
0
 
LVL 24

Accepted Solution

by:
purplepomegranite earned 500 total points
ID: 21805184
The attached let's you cancel from the inputbox.

It is not possible to make text bold in the standard VBS messagebox, so the number can't be emboldened.
dim wsh, chosen
chosen=false
i=1
while not chosen and (i<>"")
	i=InputBox("Enter the song number:", "Choose song")
	if (i<>"") then
		if MsgBox("You chose song " & i & vbcrlf & "Is this correct?",4,"Confirm")=6 then
			' User confirmed ok
			chosen=true
			' Play song
			set wsh = CreateObject("WScript.Shell")
			wsh.run("""c:\MP3\HA" & i & ".mp3""")
			set wsh=nothing
		end if
	end if
wend

Open in new window

0
 

Author Closing Comment

by:giloliveira
ID: 31467867
Thanks for your assistance. It works exactly as I want it to work.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Well hello again!  Glad to see you've made it this far without giving up.  In this, the fourth installment of my popular series, I'm going to cover functions and subroutines, what they are, and why they are useful.  Just in case you stumbled onto th…
This article is the result of a quest to better understand Task Scheduler 2.0 and all the newer objects available in vbscript in this version over  the limited options we had scripting in Task Scheduler 1.0.  As I started my journey of knowledge I f…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question