创建一个批处理文件,其中包含从文本文件中提取的变量

时间:2014-09-11 11:48:04

标签: batch-file

首先,我要感谢任何贡献者的帮助。在创建批处理文件方面,我是初学者,所以我希望提供足够的信息来回答我的问题。

我有一个名为storagetool.exe的程序,期望有三个变量;服务器,地区和prodid。

服务器数量已知且值为静态。

区域数量已知且值为静态。

可能不知道产前的数量。昨天我有4个产品需要检查,今天我有100多个。

所以在命令终端我输入'storagetool.exe server1 9 9999'然后我会收到输出,我输入一个名为productlog.txt的文本文件

----------Productlist.bat file-------------------------------

@(
StorageTool.exe server1 14 000123

echo _________________________________________________________________

) > productlog.txt

---------End of Productlist.bat------------------------------------------------

我想要做的是拥有一个文本文件,其中包含我正在测试的所有产品,并从中获取批处理文件。 我仍然希望文件的输出有一个长行来分隔每个prodid的输出,以帮助我阅读它。

最终结果将是

---------prodid.txt-----------------------------------

00001

00002

00003

ext..

----------end of prodit.txt-----------------

批处理文件的输出看起来像;

(output of storagetool.exe  server1 14 0001)

echo ______________________________

(output of storagetool.exe  server1 14 00002)

echo ______________________________

(output of storagetool.exe  server1 14 00003)

echo ______________________________

ext ...用管道传输到文本文件Prodlog.txt

感谢您的帮助,非常感谢。

1 个答案:

答案 0 :(得分:1)

@echo off

    (for /f "delims=" %%a in (prodid.txt) do (
        echo --------------------------------
        StorageTool.exe server1 14 %%a
    )) > productlog.txt

对于文件中的每一行,检索该行,将其数据存储在for可替换参数%%a中,并执行(对于每一行)do子句中的代码。 / p>

所有输出都被重定向到日志文件