比较文本文件中的值

时间:2012-11-12 23:46:48

标签: batch-file conditional-statements

您好,并提前感谢您提供的任何帮助。

我有一个文本文件(Check_Quantities.txt),它将为我提供我需要采取行动的价值观。该文件的读取方式如下:

Qty1=200 Qty2=201

(数字会全天变化)

我需要编写一个条件批处理文件来比较数字,然后停止下一个动作发生,或者允许下一个动作发生。

例如,如果Qty1<数量2,然后停止进程,并在屏幕上显示警告消息。

如果Qty1> =数量2,则继续进行下一个动作......

copy c:\temp\ASNReport.txt u:\temp

我的编程知识很少,但这似乎是一项简单的任务。不幸的是,尽管经过几个小时的搜索,我还是无法在互联网上找到任何帮助。

再次感谢, 巴特

2 个答案:

答案 0 :(得分:3)

下面的命令在变量中加载文件中给出的值:

for /F "tokens=1,2" %%a in (Check_Quantities.txt) do set %%a& set %%b

上一行等效以执行以下操作(使用给定文件):

set Qty1=200
set Qty2=201

这样,您可以以任何方式使用变量的值。例如:

if %Qty1% geq %Qty2% (
   copy c:\temp\ASNReport.txt u:\temp
) else (
   echo Warning message
)

当然,你至少需要知道批量基础知识......

答案 1 :(得分:2)

也许有其他解决方案,但是这应该可以胜任。试试这个:

@echo off
for /f  "tokens=2,4 delims==, " %%a in ( Check_Quantities.txt ) do (        
    if %%a LSS %%b (
        echo WARNING
        goto end
    ) else (    
       copy c:\temp\ASNReport.txt u:\temp   
       echo copied ASNReport.txt
    )                       
)
:end