使用批处理文件执行多个命令并使用批处理文件安装MySQL

时间:2015-03-03 07:23:33

标签: mysql batch-file cmd window

我正在尝试编写一个窗口批处理文件来串行执行多个任务,但是,它总是在脚本中的第一个命令后停止。 我使用这个批处理文件代码:

start cmd /k cd %CD%mysql\bin && mysqld --install

我想使用这个批处理文件命令并安装MySQL但它只运行一个命令

2 个答案:

答案 0 :(得分:1)

批处理文件中有以下命令:

start cmd /k cd %CD%mysql\bin && mysqld --install

让我们把它分解成更小的碎片。

  • start启动程序,命令或批处理脚本(在新窗口中打开。)
  • cmd /k cd %CD%mysql\bin运行`cd%CD%mysql \ bin然后返回cmd提示符。
  • &&如果上述成功,则运行下一个命令
  • 如果mysqld --install成功,则
  • mysqld --install运行start cmd /k cd %CD%mysql\bin

第二部分永远不会作为第一部分返回到命令提示符运行。

请尝试使用以下批处理文件:

cd %CD%mysql\bin
mysqld --install

请注意,必须为变量CD分配一个合理的值,否则cd %CD%mysql\bin将失败。

答案 1 :(得分:1)

这里似乎有很多图层:startcmd /c(我认为您更喜欢cmd /k用于批处理文件)。

cd %CD%\mysql\bin && mysqld --install出了什么问题?当我试图运行notepad.exe时,这对我很好:cd /d %WINDIR%\System32 && notepad(注意这里附加的'\'字符,以防万一......如果env var CD已经有一个额外的反斜杠就不会受到影响)。就此而言,我敢打赌%CD%\mysql\bin\mysqld --install可以正常工作。

但是,如果你想要额外的瑕疵 - 或者更可能的是,你需要它来展示其他功能。仅使用cmd

cmd /c "cd %CD%\mysql\bin && mysqld --install"

仅使用start

start "" "cd %CD%\mysql\bin && mysqld --install"

我使用startcmd同时提出了解决方案,但您根本不需要它。

顺便说一句,如果您不能直接拨打%CD%\mysql\bin\mysqld --install,我会考虑使用pushd代替cd,以便您可以拨打popd整个脚本的结束......将脚本用户放回到他们开始的目录中是一种很好的形式。