Windows批处理编程:将某个命令的数据放入某个变量
您好,我想将以下命令的输出收集到某个变量中。我该如何做Windows批处理编程:将某个命令的数据放入某个变量,windows,batch-file,cmd,Windows,Batch File,Cmd,您好,我想将以下命令的输出收集到某个变量中。我该如何做 type somefile.txt | find /v "irritating string" 实际上,我想将上述命令的输出写入其他文件夹中的其他文件。您的命令可能会产生多行输出。Windows batch没有一种方便的方法将多行命令输出捕获到单个变量中。FOR/F命令可用于单独处理每一行,此时您可以将每一行连接成单个变量(最多可达~8191字节值长度限制),也可以创建一个变量数组 在命令提示符下键入以获取/?或帮助以获取有关FOR命令的
type somefile.txt | find /v "irritating string"
实际上,我想将上述命令的输出写入其他文件夹中的其他文件。您的命令可能会产生多行输出。Windows batch没有一种方便的方法将多行命令输出捕获到单个变量中。FOR/F命令可用于单独处理每一行,此时您可以将每一行连接成单个变量(最多可达~8191字节值长度限制),也可以创建一个变量数组 在命令提示符下键入
以获取/?
或帮助以获取有关FOR命令的更多信息
但是,由于您希望真正将输出捕获到文件中,因此解决方案非常简单
如果要创建新文件
type somefile.txt | find /v "irritating string" >"c:\somePath\newFile.txt"
如果要将输出附加到现有文件
type somefile.txt | find /v "irritating string" >>"c:\somePath\existingFile.txt"
如果文件尚不存在,将创建该文件。非常感谢您的回答。如果我希望输出文件位于其他文件夹中,而不是当前目录中,您能告诉我该怎么做吗?@RajatSaxena-只需在输出文件名前加上文件夹路径即可。我已经用那个微不足道的改动更新了答案。在路径包含空格的情况下,引号就在那里。请不要介意,如果这个新文件所在的目录是使用相同的脚本动态生成的呢?那么如何指定路径呢?