我感觉栽在这上面好多次了……
示例命令: commandStr
"d:/可能包含空格/magick.exe" "E:/可能包含空格/0.psd[0]" -strip -resize "2048x2048>" "C:\...\Temp\2118f16acd3ea04b22c30b7369fd5169.avif" && identify -format "%[fx:w] %[fx:h]" "E:/可能包含空格/0.psd[0]"
在cmd中执行:
输出:
1000 485
可以证明上面的命令是正确的。
在 go:
cmd := exec.Command("cmd.exe", "/c", commandStr)output, err := cmd.CombinedOutput()if err != nil { fmt.Printf("Error: %v\n", err) fmt.Printf("Output: %s\n", string(output)) return}
报错1: `Output: '\"d:/可能包含空格/magick.exe\"' �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���`
乱码我无能为力,但看输出,貌似是转义,这莫名其妙,但我先去掉magick.exe的引号
报错2:
Error: exit status 1Output: magick.exe: unable to open image '"E:/可能包含空格': Invalid argument @ error/blob.c/OpenBlob/3596.magick.exe: no decode delegate for this image format `' @ error/constitute.c/ReadImage/746.
问题很简单,路径有空格,并且引号被无视了,为啥?
有明白的大佬吗?
谢谢
prg := "d:/可能包含空格/magick.exe" arg1 := "E:/可能包含空格/0.psd[0]" arg2 := "-strip -resize "2048x2048>" arg3 := "C:\...\Temp\2118f16acd3ea04b22c30b7369fd5169.avif" cmd := exec.Command(prg, arg1, arg2,arg3)
上面这样不行吗? 没有window环境验证
问题内容: 我想使用golang和exec库转到某个路径“ c:\”并运行.exe文件。 当我运行go代码时,它会给我: exec:“ cd:/”:文件不存在 问题答案: 该命令是shell的内置命令,无论是bash,cmd.exe,PowerShell还是其他。您将不执行命令,然后执行要运行的程序。相反,你要设置的你要运行到包含程序的目录: 有关更多信息,请参见Cmd文档。或者,您可以在运行程序
本文向大家介绍PHP中执行cmd命令的方法,包括了PHP中执行cmd命令的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍下,在php代码中执行cmd命令的方法,介绍下在php.ini文件中配置safe_mode参数支持命令执行的方法,有需要的朋友参考下。 说明: 本节内容在wamp包安装的环境实现。 首先,打开php.ini,关掉安全模式safe_mode = off,然后在看看 禁用函数
假设一个docker容器用'docker run'运行,然后用'docker stop'停止。“docker start”之后会执行“cmd”命令吗?
本文向大家介绍java执行windows下cmd命令的方法,包括了java执行windows下cmd命令的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java执行windows下cmd命令的方法。分享给大家供大家参考。 具体实现代码如下: 例如: cmd /c dir 是执行完dir命令后关闭命令窗口。 cmd /k dir 是执行完dir命令后不关闭命令窗口。 cmd /c st
问题内容: 我正在尝试通过Java执行命令行参数。例如: 上面的命令打开命令行,但是不执行或。有任何想法吗?我正在运行Windows XP,JRE6。 (我已经对问题进行了更详细的修订。以下答案很有用,但不能回答我的问题。) 问题答案: 你发布的代码使用自己的命令启动三个不同的过程。要打开命令提示符然后运行命令,请尝试以下操作(请勿自己尝试):
问题内容: 这是一个通过 shell-form指令运行多个命令的愚蠢示例。我更喜欢使用 exec-form ,但是我不知道如何连接指令。 壳形式: 执行表格: 有人可以提供 exec-form 的等效语法吗? 问题答案: 简短的答案是,您不能将 exec形式的 命令链接在一起。 是Shell的功能,用于将命令链接在一起。实际上,当您在Dockerfile中使用此语法时,实际上是在利用Shell功能