1

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

我有一个文本文件 (Check_Quantities.txt),它将为我提供我需要采取行动的值。该文件将完全像这样读取:

Qty1=200 Qty2=201

(数字将全天变化)

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

例如,如果 Qty1 < Qty2,则停止进程,并在屏幕上显示警告消息。

如果 Qty1 >= Qty 2,则继续执行下一个操作,即...

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

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

再次感谢,巴特

4

2 回答 2

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
)

当然,您至少需要了解 Batch 基础知识才能继续……

于 2012-11-13T02:22:52.547 回答
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
于 2012-11-13T01:02:21.477 回答