问: cmd //c your_batch_file
上面这个命令可以在 gitbash里调用批处理文件并在批处理任务结束时自动返回 gitbash。我想知道这个命令里的 //c 为什么用两个 /

答:

- cmd /c your_batch_file:标准 Windows 命令,用于执行命令后退出。
- 但在 Git Bash 里,/c 会被当成路径,比如 /c/Windows/System32
- 所以我们要告诉 Git Bash:“别当成路径!这是参数!”

Git Bash 使用的是 MSYS2mingw,它自动把 /something 当成 UNIX 风格路径,比如:
/c/Windows/System32

所以如果你写:
cmd /c myscript.bat

Git Bash 可能会错误解析 /c 为路径 C:\,而不是传给 cmd.exe 的参数。

为避免这个转换,双斜杠 //c 是一种逃避路径转换的技巧:
> Git Bash 不会转换以 // 开头的路径或参数。
 
 
Back to Top