0

(通过 DOS,我的意思是 windows cmd.exe - 我不想对最终用户强制执行 powershell 或类似命令)

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

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

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


具体来说,identifyImageMagick 的命令,我想在 +- 300 个文件上运行它,并将实际大小与预期大小进行比较。

示例输出:

$识别玫瑰.jpg

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

4

2 回答 2

3

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

像下面的行应该可以完成这项工作。只需从 jpg 文件所在的文件夹中运行它:

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

于 2013-02-23T18:09:03.687 回答
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]]

>您也可以使用该符号将其重定向到输出文件。

于 2013-02-22T13:34:10.627 回答