我一直在寻找一些时间,但还没有找到明确的答案.到目前为止,我发现的唯一链接就是这里.
我试图找出Linux上是否存在程序,我发现了这篇文章.我尝试从我的go程序中执行此操作并且它一直给我一个错误,说它在我的$ PATH中找不到"命令",这是预期的,因为它是linux中的内置命令而不是二进制文件.所以我的问题是如何从go程序中执行linux的内置命令?
exec.Command("command", "-v", "foo")
Run Code Online (Sandbox Code Playgroud)
错误:exec:"command":在$ PATH中找不到可执行文件
我正在使用 Filepath.Walk in Go 尝试以递归方式获取 C: 下的所有文件夹。然而,它只返回以 $Recycle.Bin 开头的子文件夹。我在这里做错了什么?
package main
import (
"fmt"
"path/filepath"
"os"
)
func main() {
array := Subfolders("C:")
for _,value := range array {
fmt.Println(value)
}
}
func Subfolders(path string) (paths []string) {
filepath.Walk(path, func(newPath string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if info.IsDir() {
paths = append(paths, newPath)
}
return nil
})
return paths
}
Output:
C:
C:\$Recycle.Bin
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000\$R0L9M20
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000\$R22ZOD9
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000\$R3LS9P4
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000\$R4T2IGU
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000\$R8TZIET
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000\$R9QQZB9
C:\$Recycle.Bin\S-1-5-21-310629982-3373693989-3733510080-1000\$RA71HY3 …Run Code Online (Sandbox Code Playgroud)