gpt4 book ai didi

java - 如何从 Java 运行 Windows 命令

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:18 25 4
gpt4 key购买 nike

我想用 Java 执行以下命令:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\"mysqldump -u root --password=xxxx --routines database > C:\Users\john\Desktop\backup.sql

当我使用 Windows cmd.exe 而不是我的 Java 应用程序时,该命令完美运行。

cmd = "\"C:\\Program Files\\MySQL\\MySQL Server 5.5\\bin\\\"mysqldump
-u root --password=xxxx --routines database > C:\\Users\\john\\Desktop\\backup.sql
Runtime runtime = Runtime.getRuntime();
process = runtime.exec(cmd);

我收到以下错误:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\"mysqldump -u root --password=xxxx --routines database > C:\Users\john\Desktop\backup.sql java.io.IOException: Cannot run program ""C:\Program": CreateProcess error=5, Access is denied

你有什么想法吗?

谢谢。

最佳答案

您正在尝试使用重定向 (>),这是 shell 的一个功能。

你没有 shell,你正在 exec 直接执行 mysqldump 进程。

您要么需要从process 对象中读取输出流并将其写入文件,要么exec windows shell 来执行mysqldump 为您提供重定向。

关于java - 如何从 Java 运行 Windows 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8403831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com