ChatGPT解决这个技术问题 Extra ChatGPT

How do I execute cmd commands through a batch file?

I want to write a batch file that will do following things in given order:

Open cmd Run cmd command cd c:\Program files\IIS Express Run cmd command iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0 Open Internet Explorer 8 with URL= http://localhost:8088/default.aspx

Note: The cmd window should not be closed after executing the commands.

I tried start cmd.exe /k "cd\ & cd ProgramFiles\IIS Express", but it is not solving my purpose.

what is the problem you are facing?

B
Blorgbeard

So, make an actual batch file: open up notepad, type the commands you want to run, and save as a .bat file. Then double click the .bat file to run it.

Try something like this for a start:

c:\
cd c:\Program files\IIS Express
start iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
start http://localhost:8088/default.aspx
pause

thanks @Blorgbeard. it is working except 4th line. it is not opening given url.
does the browser open at all?
Oh, I think I know what's happening - see my edit, I added "start" before the iisexpress line.
@Blorgbeard, I'm trying your approach with "C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --service and it doesn't work. When I execute this line in CMD everything is OK. In both cases, I execute it as admin. Tell me please, what I do wrong?
@MikeB. start takes the first quoted argument as window title. Try start "" "C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --service
a
argentum47

I think the correct syntax is:

cmd /k "cd c:\<folder name>"

Very nice option '/k'. This way even after pressing CTRL+C cmd doesn't exit. Thanks a lot :-)
C
Community

This fixes some issues with Blorgbeard's answer (but is untested):

@echo off
cd /d "c:\Program files\IIS Express"
start "" iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
timeout 10
start http://localhost:8088/default.aspx
pause

F
Feety

cmd /c "command" syntax works well. Also, if you want to include an executable that contains a space in the path, you will need two sets of quotes.

cmd /c ""path to executable""

and if your executable needs a file input with a space in the path a another set

cmd /c ""path to executable" -f "path to file"" 

P
Peter O.
@echo off
title Command Executer
color 1b

echo Command Executer by: YourNameHere
echo #################################
: execute
echo Please Type A Command Here:
set /p cmd=Command:
%cmd%
goto execute

"How do I execute cmd commands through a batch file?" Heh, technically correct.
Technically correct..yes...but also exactly what you need if you're at a school computer and command prompt is disabled but batch files aren't.
I've been looking for this, so I'm glad you posted this even though its not what the OP wanted :)
V
Victor Lee
start cmd /k "your cmd command1"
start cmd /k "your cmd command2"

It works in Windows server2012 while I use these command in one batch file.


f
frank

cmd /k cd c:\ is the right answer


cmd /k " cd & "
A
Anshu Kumar Gupta

I was trying to run a couple of batch files parallely at startup, if a condition was true.

For this I made a parent batch file which should have checked for the condition and invoke the other child batch files if the condition was true.

I tried to achieve it via START but it gave me an empty black command prompt running in the directory of children batch files, instead of running the children batch files themselves

The thing which worked for me was by using a combination of START and CALL

As an example

condition ...

start call "C:\Users\Amd\conn\wsl_setup - conn1.bat"

start call "C:\Users\Amd\conn\wsl_setup - conn2.bat"

start call "C:\Users\Amd\conn\wsl_setup - conn3.bat"

start takes the first quoted argument as a window title. Just give it a dummy title (may be empty): `start "" "c:\....\....bat"
u
user7380371

I know DOS and cmd prompt DOES NOT LIKE spaces in folder names. Your code starts with

cd c:\Program files\IIS Express

and it's trying to go to c:\Program in stead of C:\"Program Files"

Change the folder name and *.exe name. Hope this helps


Changing the Folder Name? You must be kidding.
correct for any command that uses parameters with spaces - except cd. It's the only command I know, that actually takes parameters with spaces without quotes.
When you change "Program files".... xD. I agree with Werner. Here's what happens: Your apps that hardcodes the file location no longer works, some system functions may not work, you system breaks down