gpt4 book ai didi

windows - 捕获输出命令CMD

转载 作者:可可西里 更新时间:2023-11-01 11:56:46 25 4
gpt4 key购买 nike

Windows XP 平台

在编写命令文件 (.bat) 时,如何将命令的输出“捕获”到变量中?

我想做这样的事情

SET CR='dir /tw /-c b.bat | findstr /B "[0-9]"'

但这行不通

问候斯特凡

附言不,我不能下载 grep、cygwin 或任何其他软件,它必须是 CMDDS

最佳答案

您可以使用 FOR/F 并在批处理文件中执行一些循环来捕获输出:

@echo off
setlocal enabledelayedexpansion
set var=
for /f "tokens=* delims=" %%i in ('dir /tw /-c b.bat ^| findstr /B "[0-9]"') do set var=!var!^

%%i

echo %var%

特别重要的是 !var!^ 和下面的 %%i 之间有两个换行符。

此外,您需要转义(再次使用 ^)FOR 命令行中对 shell 具有特殊含义的所有字符,例如本例中的管道.

该解决方案的工作原理是遍历命令的输出并将每一行递增地附加到 var 的内容中。为了以某种方便的方式做到这一点,脚本启用了延迟变量扩展(!var! 语法)。

关于windows - 捕获输出命令CMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14646575/

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