2015-03-03 152 views

回答

1

您的批處理文件中下面的命令:

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

讓我們把它分解成小塊。

  • start啓動程序,命令或批處理腳本(在新窗口中打開。)
  • cmd /k cd %CD%mysql\bin運行`CD%CD%的mysql \ bin中,然後返回到命令提示符。
  • &&如果上述成功然後運行的下一個命令
  • mysqld --install運行mysqld --install如果start cmd /k cd %CD%mysql\bin成功

第二部分將永遠不會運行作爲第一部分返回到命令提示

嘗試以下批處理文件來代替:

cd %CD%mysql\bin 
mysqld --install 

注變量CD必須指定一個合理的值,否則cd %CD%mysql\bin將失敗。

+0

感謝DavidPostil – 2015-03-04 08:49:04

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 ......這是一個好的形式把你的腳本用戶回到他們開始的目錄。