gpt4 book ai didi

batch-file - 如何在 Windows 批处理中重定向 FOR 命令

转载 作者:行者123 更新时间:2023-12-03 21:30:16 25 4
gpt4 key购买 nike

我知道如何使用 >|>>|<|<< 重定向 Windows shell 命令运算符,但我无法为 FOR 中使用的命令完成它命令?

例如:

for /f "usebackq tokens=*" %%I in (`__COMMAND__ 2>nul`) do (
set MYVAR=%%I
)

你看,在这里我想沉默这个 __COMMAND__的stderr .
shell 提示它不期望 2在那个地方(其他重定向的行为相同)。

有人可以在这里帮忙吗?

最佳答案

for /f "usebackq tokens=*" %%I in (`__COMMAND__ 2^>nul`) do (
set MYVAR=%%I
)

in this case重定向和条件执行操作符需要用插入符号进行转义。

或者将所有内容放在双引号中:
for /f "usebackq tokens=*" %%I in (`"__COMMAND__ 2>nul"`) do (
set MYVAR=%%I
)

使用 delayed expansion也可以:
@echo off

setlocal enableDelayedExpansion

set "command=__COMMAND__ 2>nul"

for /f "usebackq tokens=*" %%I in (`!command!`) do (
set MYVAR=%%I
)

关于batch-file - 如何在 Windows 批处理中重定向 FOR 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35580764/

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