none.gif

一夜鱼龙舞

GF  2019-09-23 11:47
(jdubjuf)

[全年龄正常向]一股清流,程序员进,最好对win系统了解的。

一般在cmd 中执行的命令都可以在是在系统变量的目录下的,比如ping命令。可以直接搜"ping.exe"找到。。
但是copy这个命令我找了好久都找不到对应的exe。
用“where copy”也找不到。
而且这个命令只能在cmd中运行,在win10的prowershell中还运行不了,调用的直接就是 Copy-Item了。

我在go语言中想通过调用cmd的函数调用它,提示无法在%PATH%中找到它。
所以有什么办法找到这个命令对应的exe吗
此帖悬赏结束
最佳答案: 20 SP币
最佳答案获得者: 67baad41

a9.gif

滑天下之大稽

B1F  2019-09-23 13:39

回 4楼(一夜鱼龙舞) 的帖子

你确定按照我说的做了吗,我测试是可以正常执行的。
贴上代码:
package main

import (
    "os/exec"
)

func main() {
    c := exec.Command("cmd", "/C", "copy", "db.txt", "db-copy.txt")
    if err := c.Run(); err != nil {
        panic(err)
    }
}
最佳答案奖励: (+20) SP币

a9.gif

滑天下之大稽

B2F  2019-09-23 12:59
copy是内置在DOS命令解析器的命令,非外部命令,你可以通过cmd去执行它,如:exec.Command("cmd", "/C", "copy", ...)
热心助人奖励: (+1) SP币