gpt4 book ai didi

go - 可执行文件不在路径中 - GO

转载 作者:IT王子 更新时间:2023-10-29 01:18:19 46 4
gpt4 key购买 nike

我正在尝试为命令提示符调用内置命令,但出现我不理解的错误。

func main() {
cmd := exec.Command("del", "C:\trial\now.txt")
// Reboot if needed
cmd.Stdout = os.Stdout
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
}

我收到以下错误:

exec: "del": executable file not found in %PATH%
exit status 1

我做错了什么?

最佳答案

del 不是可执行文件,它是内置命令。 exec.Command 允许您 fork 到另一个可执行文件。要使用 shell 命令,您必须调用 shell 可执行文件,并传入要执行的内置命令(和参数):

cmd := exec.Command("cmd.exe", "/C", "del C:\\trial\\now.txt")

请注意,您还必须像上面那样转义字符串中的反斜杠,或使用反引号引起来的字符串:

cmd := exec.Command("cmd.exe", "/C", `del C:\trial\now.txt`)

但是,如果您只想删除文件,最好使用 os.Remove直接删除文件而不是 fork 到 shell 来执行此操作。

关于go - 可执行文件不在路径中 - GO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44833044/

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