我正在嘗試編寫一個窗口批處理文件來執行系列中的多個任務,但是它始終會在腳本中的第一個命令之後停止。 我用這個這個批處理文件代碼:使用批處理文件執行多個命令並使用批處理文件安裝MySQL
start cmd /k cd %CD%mysql\bin && mysqld --install
我想利用這個批處理文件命令和安裝MySQL,但它只能運行只需要一個命令
我正在嘗試編寫一個窗口批處理文件來執行系列中的多個任務,但是它始終會在腳本中的第一個命令之後停止。 我用這個這個批處理文件代碼:使用批處理文件執行多個命令並使用批處理文件安裝MySQL
start cmd /k cd %CD%mysql\bin && mysqld --install
我想利用這個批處理文件命令和安裝MySQL,但它只能運行只需要一個命令
您的批處理文件中下面的命令:
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
將失敗。
似乎你在這裏有很多圖層:start
和cmd /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"
我會同時使用start
和cmd
提出一個解決方案,但你並不需要它。
順便說一句,如果你不能直接調用%CD%\mysql\bin\mysqld --install
,我會考慮使用pushd
代替cd
,這樣你可以在你的整個腳本的末尾呼籲popd
......這是一個好的形式把你的腳本用戶回到他們開始的目錄。
感謝DavidPostil – 2015-03-04 08:49:04