Solved

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

Posted on 2008-06-16
4
803 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Recently I finished a vbscript that I thought I'd share.  It uses a text file with a list of server names to loop through and get various status reports, then writes them all into an Excel file.  Originally it was put together for our Altiris server…
This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

734 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