cmd.exe无法识别 Delphi 中ShellExecute给出的命令

cx6n0qe3  于 2023-08-04  发布在  Shell
关注(0)|答案(1)|浏览(135)

下面是执行命令的代码:

ShellExecute(0, nil, 'cmd.exe', PWideChar('/c '+cmd+' & pause'), nil, SW_SHOW);

字符串
使用cmd的以下内容(引号出现在字符串中):

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" --user=root --password=root --port=3306 --host=localhost --add-drop-database --add-drop-table --hex-blob db > "C:/backup/db.sql"


输出错误:

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.


从手动打开的cmd.exe示例运行完全相同的命令可以工作,所以这是ShellExecute的问题,但我不知道我可以做些什么来调试它。
编辑:我试着用正斜杠代替反斜杠,以防这是问题所在,但事实并非如此。

vwoqyblh

vwoqyblh1#

我从没做过这个我总是使用Raize / Konopka Launch组件。它是GetIt中的库的一部分。事实上,我前几天刚刚用它运行了一个shell,该shell运行了程序生成的包含curl语句的bat文件。我在最后放了一个“暂停”,让我在它关闭之前检查它。
你也可以通读代码,看看它在做什么,如果你想DIY。

相关问题