0

您好,我想将以下命令的输出收集到某个变量中。我该怎么做?

type somefile.txt | find /v "irritating string"

实际上,我想将上述命令的输出写入其他文件夹中的其他文件。

4

1 回答 1

1

您的命令可能会产生多行输出。Windows 批处理没有方便的方法将多行命令输出捕获到单个变量中。FOR /F 命令可用于单独处理每一行,此时您可以将每一行连接成一个变量(最多为 ~8191 字节值长度限制),或者您可以创建一个变量数组。

键入FOR /?HELP FOR从命令提示符获取有关 FOR 命令的更多信息。

但是由于您想真正捕获文件中的输出,因此解决方案非常简单。

如果你想创建一个新文件

type somefile.txt | find /v "irritating string" >"c:\somePath\newFile.txt"

如果要将输出附加到现有文件

type somefile.txt | find /v "irritating string" >>"c:\somePath\existingFile.txt"

如果该文件尚不存在,则会创建该文件。

于 2013-01-19T17:13:31.147 回答