比较“DOS”命令的输出

时间:2013-02-22 12:59:10

标签: batch-file dos windows-shell

(通过DOS我的意思是Windows cmd.exe - 我不想在最终用户上强制执行powershell或类似功能)

我想运行一个命令行文件,将输出打印到CON /屏幕。

我想捕获该输出并将其与预期输出进行比较。

...在.bat / .cmd文件中?


具体来说,identify command of ImageMagick,我希望在+ - 300个文件上运行此操作,并将实际尺寸与预期尺寸进行比较。

示例输出:

  

$ identify rose.jpg

     

rose.jpg JPEG 640x480 sRGB 87kb 0.050u 0:01

2 个答案:

答案 0 :(得分:3)

如果我正确理解了这个问题,你想在目录中的所有jpg文件上运行identify命令,并将该命令的输出捕获到一个文本文件中,以便以后进行比较。然而,比较不是规范的一部分?

下面一行应该做的工作。只需从jpg文件所在的文件夹中运行它:

对于(* .jpg)中的/ R %% X,

确定%% X>> PicInfo.txt 这将捕获您运行命令并将其附加到文件PicInfo.txt的目录中的每个.jpg文件(以及感谢'/ R'的子目录)的rose.jpg JPEG ...行。

答案 1 :(得分:0)

您可以使用将控制台输出重定向到文件的符号来调用identify程序,该文件是>字符。类似的东西:

identify rose.jpg > myoutput.txt

此外,>>会将输出附加到文件中已有的内容。所以使用

identify rose.jpg >> myoutput.txt

...应该创建一个包含所有输出的文件。

然后,您可以使用DOS COMP命令,该命令会比较两个文件的内容。语法是:

COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C] [/OFF[LINE]]

您还可以使用>符号重定向到输出文件。