Windows 有没有一种方法可以逃出这个空间;DIR";命令

Windows 有没有一种方法可以逃出这个空间;DIR";命令,windows,go,cmd,Windows,Go,Cmd,我知道dir要求您对带有空格的目录名进行双引号,但我不得不使用cmd/C,它不尊重双引号 现在,要列出名称中有空格的目录似乎是不可能的,而CD命令根本不关心空格,执行>CD New folder会将您移动到New folder,而不会出现任何问题 编辑 我正试图从一个Go程序调用它 package main import ( "bytes" "fmt" "os/exec" ) // this function wraps up `exec.Command` func

我知道
dir
要求您对带有空格的目录名进行双引号,但我不得不使用
cmd/C
,它不尊重双引号

现在,要列出名称中有空格的目录似乎是不可能的,而
CD
命令根本不关心空格,执行
>CD New folder
会将您移动到
New folder
,而不会出现任何问题

编辑

我正试图从一个
Go
程序调用它

package main

import (
    "bytes"
    "fmt"
    "os/exec"
)

// this function wraps up `exec.Command`
func CommandRunner(cmd string) ([]byte, error) {
    // make stdout and stderr buffers to save the output to
    var stdout, stderr bytes.Buffer
    // make up the command
    command := exec.Command("cmd", "/C", cmd)
    // set stdout and stderr to the command's stdout and stderr
    command.Stdout = &stdout
    command.Stderr = &stderr

    // start the command and watch for errors
    if err := command.Start(); err != nil {
        // return the err and stderr
        return stderr.Bytes(), err
    }
    // wait for the command to finish
    if err := command.Wait(); err != nil {
        // return the err and stderr
        return stderr.Bytes(), err
    }

    return stdout.Bytes(), nil
}

func main() {
    cmd := `dir "C:\Users\pyed\Desktop\new folder"`
    out, _ := CommandRunner(cmd)
    fmt.Println(string(out))

}
它将返回
文件名、目录名或卷标语法不正确
,任何不带双引号的命令都可以正常工作


执行
cmd/?
并阅读以
If/C或/K..开头的部分。
我说的
cmd/C
不允许双引号,因此这可能是一个
exec.Command
问题,执行以下操作

command := exec.Command("cmd", "/C", "dir", "C:\Users\pyed\Desktop\new folder")

是的,您根本不需要转义空格。

您确定
cmd/c dir“New Folder”
不起作用吗?您可以在命令中使用空格。我刚刚用这个完整的命令提示符进行了测试:
C:\Windows\System32>cmd/C dir“C:\program files”/b
请在问题的代码部分编辑以显示您的尝试。为什么你“被迫”使用
cmd/c
,你到底想做什么?@magoo我之所以被迫,是因为我是通过GO执行它的:a)用于获取目录列表。b) 直接调用命令,而不是在cmd.exe中运行命令。