Solved

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

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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Modifying Powershell and WMI to obtain disk, cpu, mem & IP data ? 5 85
Server 2012 management. 5 45
Clear Filter 8 72
Need help Creating PowerShell Script 4 45
This is an addendum to the following article: Acitve Directory based Outlook Signature (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_24950055.html) The script is fine, and works in normal client-server domains…
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

733 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