我不确定这是否可行,但我需要的是一个在 Windows 7 上运行并执行以下操作的普通 bat/cmd 文件:
步骤 1。findstr
- 它应该使用正则表达式引擎找到一个特定的字符串。假设我们正在寻找一个包含在标签 <id>123</id>
中的数字(假设这样的文件是唯一的,因此返回一个值)。该命令将打印 123
到屏幕上,但我需要将它保存在一个变量中(不知道如何)。
第 2 步。再次调用 findstr
在另一个目录上。现在我们想要找到一个文件名称(/m
选项),其中包含我们在步骤 1 中保存的值(在另一组文件中,即另一个目录中)。再次,将结果(文件名)保存在一个变量中。说,file_123.txt
符合标准。
第 3 步。复制我们作为第二个 findstr
的结果获得的文件调用 ( file_123.txt
) 到另一个位置。
整个问题围绕着如何将 Windows 命令的结果保存到变量,以便能够将这些值作为参数提供给后续命令。
最佳答案
在变量中获取命令输出的一般方法是
for /f %%x in ('some command') do set Var=%%x
(有各种变化,取决于上下文和确切的需求)。
至于你的步骤,我午饭后详细说明。有一些错综复杂的地方。
关于Windows 批处理文件命令和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6276270/