windows - 如何在 Windows 控制台中使用反斜杠而不是正斜杠制作 git 打印路径

标签 windows git

当 git 在 Windows 控制台中打印路径时,是否可以让 git 打印反斜杠而不是正斜杠?我希望能够复制它输出的路径并将其粘贴到我 future 的控制台命令中。

示例输出:

C:\vna>git status
On branch herpderp
Your branch is up-to-date with 'origin/herpyderp'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    Java/HerpDerp/src
    Java/HerpDerp/src/main/java/com/derp/messaging/
    Java/HerpDerp/src/main/java/com/derp/controller/event/
    Java/HerpDerp/src/main/java/com/derp/controller/domain/
    Java/HerpDerp/src/main/java/com/derp/controller/monitor/


nothing added to commit but untracked files present (use "git add" to track)

代替

Java/HerpDerp/src/main/java/com/derp/messaging/

我想看看

Java\HerpDerp\src\main\java\com\derp\messaging\

甚至

Java\\HerpDerp\\src\\main\\java\\com\\derp\\messaging\\

编辑:我应该澄清一下,这是为了在 Windows 控制台中使用 git。此外,对于我的案例来说,正确的答案似乎是使用 Git Bash。

最佳答案

我知道它有点旧,但是您可以使用环境变量替换将 / 替换为 \\\:

C:\> SET FILE=Java/HerpDerp/src
C:\> ECHO %FILE:/=\%
Java\HerpDerp\src

C:\> ECHO %FILE:/=\\%
Java\\HerpDerp\\src

C:\>

更进一步,您可以编写一个批处理文件,为输出一堆路径的命令执行此操作:(git diff --name-only HEAD~1 在下面示例)

SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "usebackq delims=" %%i IN (`git diff --name-only HEAD~1`) DO (
  SET FILE=%%i
  ECHO !FILE:/=\!
)
ENDLOCAL

关于windows - 如何在 Windows 控制台中使用反斜杠而不是正斜杠制作 git 打印路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41682485/

相关文章:

windows - 有没有收到消息就 sleep 的方法?

windows - 无法使用 puppet 访问远程文件

git - `git diff --stat` 排除某些文件

git - 我如何在 Git 中 pull 单个提交?

Git 删除根提交

git - 如何更有效地使用 Magit?

c++ - Windows : can I dynamically choose what DLL name to look for? (c++) 中的延迟加载 DLL

c++ - 确定应用程序的启动方式 - 由用户启动或自动启动

c# - Windows 安全自定义登录验证

svn - 以编程方式区分 git-svn 和 git repos 之间的区别?