2015-02-06 52 views
0

美好的一天。我需要一些關於代碼的幫助,關於如何創建一個按表導出mysql數據庫的批處理文件。BATCH FILE:通過表導出mysql

FOR %%D IN `mysql -uroot -e "SHOW TABLES from sample"` do echo %%D mysqldump -uroot sample %%D > %%D.sql 

幫助。謝謝。

+0

先生。這是我的代碼 ** @ echo off SET path = C:\ Users \ neca \ Desktop cd C:\ wamp \ bin \ mysql \ mysql5.5.24 \ bin FOR/F「tokens = *」%% D IN('mysql -uroot -e'SHOW TABLES from sample'')do echo %% D pause ** 但是在我的數據庫中,我只有2個表格(樣本和測試)。爲什麼這段代碼的 輸出 ** Tables_in_sample 樣品 測試** 其中Tables_in_sample是,我沒有做一個表。 – xXxrk04 2015-02-09 01:45:11

回答

1

開始下一個命令:

FOR /F "tokens=*" %%D IN ('mysql -uroot -e "SHOW TABLES from sample"') do @echo %%D 

然後,你可以細化和修改輸出一些%%~Dmodifiers

下一個資源for /F命令。

+0

先生。 「tokens = *是什麼意思?我應該做些什麼?感謝你的回覆。 – xXxrk04 2015-02-06 09:15:13

+0

@JosefZ - 你錯過了關於」tokens「部分的結尾'''。 @ xXxrk04 - '「tokens = *」'表示處理整行並忽略任何分隔符。他也可以使用'「delims =」' - 這只是個人偏好。 – SomethingDark 2015-02-06 10:44:35

+1

Mea culpa,mea maxima culpa!謝謝你,@SomethingDark(並且是一個習慣性的偏執狂,可以同時使用'「tokens = * delims =」':)) – JosefZ 2015-02-06 11:15:01