110

我想编写一个批处理文件,它将按照给定的顺序执行以下操作:

  1. 打开命令
  2. 运行cmd命令cd c:\Program files\IIS Express
  3. 运行cmd命令iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
  4. 使用 URL=打开Internet Explorer 8http://localhost:8088/default.aspx

注意:执行命令后不应关闭 cmd 窗口。

我试过start cmd.exe /k "cd\ & cd ProgramFiles\IIS Express",但这并没有解决我的目的。

4

9 回答 9

124

因此,制作一个实际的批处理文件:打开记事本,键入要运行的命令,然后另存为.bat文件。然后双击 .bat 文件运行它。

尝试这样的开始:

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
于 2013-05-24T05:09:13.833 回答
31

我认为正确的语法是:

cmd /k "cd c:\<folder name>"
于 2013-05-24T05:12:53.417 回答
18

这解决了Blorgbeard 答案的一些问题(但未经测试):

@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
于 2013-05-24T05:44:28.273 回答
10

cmd /c "command" 语法效果很好。此外,如果要包含路径中包含空格的可执行文件,则需要两组引号。

cmd /c ""path to executable""

如果您的可执行文件需要在路径中有空格的文件输入,则为另一组

cmd /c ""path to executable" -f "path to file"" 
于 2017-05-03T13:25:29.670 回答
7
@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
于 2015-06-21T17:57:29.073 回答
4
start cmd /k "your cmd command1"
start cmd /k "your cmd command2"

它在 Windows server2012 中工作,而我在一个批处理文件中使用这些命令。

于 2020-05-04T08:17:49.850 回答
3

cmd /k cd c:\ 是正确的答案

于 2017-06-13T13:00:40.083 回答
0

如果条件为真,我试图在启动时并行运行几个批处理文件。

为此,我制作了一个父批处理文件,它应该检查条件并在条件为真时调用其他子批处理文件。

我试图通过它来实现它,START但它给了我一个空的黑色命令提示符,在子批处理文件的目录中运行,而不是自己运行子批处理文件

对我有用的是结合使用STARTCALL

举个例子

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"
于 2021-07-05T15:36:56.670 回答
-10

我知道 DOS 和 cmd 提示符不喜欢文件夹名称中的空格。您的代码以

cd c:\程序文件\IIS Express

它试图去 c:\Program 而不是 C:\"Program Files"

更改文件夹名称和 *.exe 名称。希望这可以帮助

于 2017-01-05T16:47:54.147 回答