delphi 导入导出mysql 问题

Shellexecute(Handle,nil,'cmd.exe','/K mysql -h yourmachine -uroot -p123 yourdb < d:\mysql.sql',nil,SW_HIDE);
这样写过不去。
不知道/k 是什么意思
ShellExecute(Handle,nil,PChar('cmd.exe '),pchar('/c "D:\mysql\mysql.EXE" -uroot -p123 csimp <d:\csimp.sql'),nil,SW_HIDE); 这样写就可以。必须指定mysql。
有知道的求解答。

运行一下CMD查看一下帮助不就知道了。

/K 执行字符串指定的命令但保留, 表示执行完后不关闭窗口

 C:\Users\qdfgt>**cmd /?**
启动 Windows 命令解释器的一个新实例

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      执行字符串指定的命令然后终止
/K      执行字符串指定的命令但保留
/S      修改 /C 或 /K 之后的字符串处理(见下)
/Q      关闭回显
/D      禁止从注册表执行 AutoRun 命令(见下)
/A      使向管道或文件的内部命令输出成为 ANSI
/U      使向管道或文件的内部命令输出成为
        Unicode
/T:fg   设置前台/背景颜色(详细信息见 COLOR /?)
/E:ON   启用命令扩展(见下)
/E:OFF  禁用命令扩展(见下)
/F:ON   启用文件和目录名完成字符(见下)
/F:OFF  禁用文件和目录名完成字符(见下)
/V:ON   使用 ! 作为分隔符启用延迟的环境变量
        扩展。例如,/V:ON 会允许 !var! 在执行时
        扩展变量 var。var 语法会在输入时
        扩展变量,这与在一个 FOR
        循环内不同。

表示执行完后不关闭窗口,程序就一直停在那里了吧。不会继续往下执行了。

cmd /k程序执行完了控制台不关闭。你的调用最好不要加。