Batch file 如何通过批处理文件执行cmd命令?

Batch file 如何通过批处理文件执行cmd命令?,batch-file,cmd,windows-scripting,Batch File,Cmd,Windows Scripting,我想编写一个批处理文件,该文件将按给定顺序执行以下操作: 打开命令 运行cmd命令cd c:\Program files\IIS Express 运行cmd命令iisexpress/path:“C:\FormsAdmin.Site”/port:8088/clr:v2.0 使用URL=http://localhost:8088/default.aspx 注意:执行命令后不应关闭cmd窗口 我尝试启动cmd.exe/k“cd\&cd ProgramFiles\IIS Express”,但这并不能解决

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

  • 打开命令
  • 运行cmd命令
    cd c:\Program files\IIS Express
  • 运行cmd命令
    iisexpress/path:“C:\FormsAdmin.Site”/port:8088/clr:v2.0
  • 使用URL=
    http://localhost:8088/default.aspx
  • 注意:执行命令后不应关闭cmd窗口


    我尝试启动cmd.exe/k“cd\&cd ProgramFiles\IIS Express”,但这并不能解决我的问题。

    因此,创建一个实际的批处理文件:打开记事本,键入要运行的命令,并另存为
    .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
    

    我认为正确的语法是:

    cmd /k "cd c:\<folder name>"
    
    cmd/k“cd c:\”
    
    这解决了以下问题(但未经测试):


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

    cd c:\Program files\IIS Express

    它试图转到c:\Program而不是c:\“程序文件”

    更改文件夹名称和*.exe名称。希望这有助于cmd/c“command”语法正常工作。另外,如果您想在路径中包含包含空格的可执行文件,则需要两组引号

    cmd /c ""path to executable""
    
    如果您的可执行文件需要在路径中输入一个空格,则需要另一个集合

    cmd /c ""path to executable" -f "path to file"" 
    
    cmd/k cd c:\ 答案正确吗

    start cmd /k "your cmd command1"
    start cmd /k "your cmd command2"
    

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

    您面临的问题是什么?谢谢@Blorgbeard。除了第四线外,它还在工作。它没有打开给定的url。浏览器完全打开了吗?哦,我想我知道发生了什么-请看我的编辑,我在
    iisexpress
    行之前添加了“start”。@Blorgbeard,我正在用
    C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe尝试你的方法--install--dbpath=C:\data\db--logpath=C:\data\log\log.txt--auth--service
    不起作用。当我在
    CMD
    中执行这一行时,一切都正常。在这两种情况下,我都以管理员的身份执行它。请告诉我,我做错了什么?@MikeB<代码>开始将第一个引用的参数作为窗口标题。尝试
    start”““C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe”--安装--dbpath=C:\data\db--logpath=C:\data\log\log.txt--auth--service
    “如何通过批处理文件执行cmd命令?”呵呵,技术上正确。技术上正确..是的…但是如果你在学校的计算机上,并且命令提示符被禁用,但是批处理文件没有被禁用,那么你需要什么。我一直在寻找这个,所以我很高兴你发布了这个,尽管这不是OP想要的:)更改文件夹名称?您一定是在开玩笑。对于使用带空格的参数的任何命令都是正确的-除了
    cd
    。这是我所知道的唯一一个命令,它实际上接受带空格的参数,而不带引号。。。。除息的。我同意沃纳的观点。发生的情况如下:硬编码文件位置的应用程序不再工作,某些系统功能可能无法工作,系统崩溃非常好的选项“/k”。这样即使按CTRL+C命令也不会退出。非常感谢:-)cmd/k“cd&”
    cmd /c ""path to executable" -f "path to file"" 
    
    start cmd /k "your cmd command1"
    start cmd /k "your cmd command2"