gpt4 book ai didi

windows - 如何在包含引号 ( "") 的批处理文件中运行命令?

转载 作者:可可西里 更新时间:2023-11-01 14:24:05 27 4
gpt4 key购买 nike

我有一个批处理文件正在尝试运行以下内容:

FOR /F "tokens=1" %%G IN ('git show --pretty="format:" --name-only 54173344ab18a7d8e9ff2614cca62b671c8c7e2a') DO echo %%G 

这会导致 git 错误“致命:无效的对象名称‘格式’。”

但是,如果我只是将命令本身放在批处理文件中,我会得到预期的输出。

git show --pretty="format:" --name-only 54173344ab18a7d8e9ff2614cca62b671c8c7e2a

产生:

Files/MyFiles/header.html
Files/MyFiles/foo.html

问题与“格式:”周围的引号有关。

我试过使用“”转义它们,但无济于事。我也试过了^。我试过使用 usebackq 参数。

如果你去掉 --pretty="format:"参数,这个循环也可以工作,但是我会插入一堆额外的文本。

最佳答案

您可以重定向不会导致问题的输出:

git show --pretty="format:" --name-only 54173344ab18a7d8e9ff2614cca62b671c8c7e2a >> out.tmp
FOR /F "tokens=1" %%G IN (out.tmp) DO echo %%G
del out.tmp

这应该通过将输出重定向到名为 out.tmp 的文件然后在您完成后将其删除来工作。

关于windows - 如何在包含引号 ( "") 的批处理文件中运行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26641138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com