Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 549
  • Last Modified:

How to Prevent Batch File from closing

Hi Experts

I have the following simple batch file to open MySQL client, prompt me for my password and allow me to use it.  under Win 7 this works and the client window stays open, but under my Win 2003 the client window closes, how can I prevent this?

echo Entering MySQL Client

C:\

cd Program Files\MySQL\MySQL Server 5.5\bin

mysql -u root -p

Open in new window

0
APD_Toronto
Asked:
APD_Toronto
  • 4
  • 4
  • 3
1 Solution
 
Dave BaldwinFixer of ProblemsCommented:
You want it to stay open as a 'cmd' window like a terminal?
0
 
Steve KnightIT ConsultancyCommented:
Could it just be you are running it from the wrong place because it is a 32 bit program on a 64 bit Windows 7 and installed in a different directory?  Try one of these:

@echo off
echo Entering MySQL Client
cd /d "c:\Program Files (x86)\MySQL\MySQL Server 5.5\bin"
mysql -u root -p

Open in new window


or

@echo off
echo Entering MySQL Client
cd /d "c:\Program Files\MySQL\MySQL Server 5.5\bin"
mysql -u root -p

Steve
0
 
APD_TorontoAuthor Commented:
@Dave Baldwin

You want it to stay open as a 'cmd' window like a terminal?

Yes, exactly.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
Dave BaldwinFixer of ProblemsCommented:
Try this.  You really don't need the second line.  But you probably need the quotes because the path has a space in it.
echo Entering MySQL Client

cd C:\

cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"

mysql -u root -p

Open in new window

0
 
Steve KnightIT ConsultancyCommented:
Line #3 and #5 won't work if the batch file is run from a different drive - Line #3 will change the directory on the C: drive to \ but not change to that drive.  You either need
c:
cd "\program files.... etc."
or

cd /d "c:\program files ... etc."

Have you confirmed what happens if you open a cmd.exe window and type in the same commands?

Steve
0
 
APD_TorontoAuthor Commented:
This worked... but how/why?

I thought it was a server setting?
0
 
Steve KnightIT ConsultancyCommented:
Almost like I'm invisible!
0
 
APD_TorontoAuthor Commented:
@dragon, what was your question... sorry?
0
 
APD_TorontoAuthor Commented:
I don't understandand still how it works, but it does
0
 
Steve KnightIT ConsultancyCommented:
Wel I wasn't expecting that outcome, thankyou.

Agreed with Bill, the " " aren't needed but I tend to add them anyway to save confusion.

I can only assume you are maybe running this from a differemt driver perhaps which is why it failed.  If you want to see, try this.

@echo off
echo Driveis currently %cdF
dir mqsql*.*
pause
cd "\program files\etc.."
echo %cd%
dir msql*.*
pause

etc. using your full cd command.... this sort of debugging always useful, the echo %cd% will show you what drive and directory it thinks is current when you are at that point.  the dir command will look for anything called mysql it can run in that dir, and pause commands waits so you can see the issue.

if you take your original batch and add pause to the end, with echo %CD% before you will probably see it is not in the mqsql directory or other errors.

Steve
0
 
Dave BaldwinFixer of ProblemsCommented:
When I ran the batch file on my XP system (which is very similar to Server 2003), it did not like the formatting of some of the lines.  But it does run now without the quotes.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 4
  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now