Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 比较文本文件中的值_Batch File_Conditional Statements - Fatal编程技术网

Batch file 比较文本文件中的值

Batch file 比较文本文件中的值,batch-file,conditional-statements,Batch File,Conditional Statements,您好,提前感谢您提供的任何帮助 我有一个文本文件(Check_amountments.txt),它将为我提供需要执行的值。该文件的读取方式与此完全相同: Qty1=200 Qty2=201 (数字将在一天中不断变化) 我需要编写一个条件批处理文件来比较这些数字,然后停止下一个操作,或者允许下一个操作发生 例如,如果Qty1=数量2,则继续执行下一个操作,即 复制c:\temp\ASNReport.txt u:\temp 我的编程知识非常有限,但这似乎是一项简单的任务。不幸的是,尽管搜索了几个小时

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

我有一个文本文件(Check_amountments.txt),它将为我提供需要执行的值。该文件的读取方式与此完全相同:

Qty1=200 Qty2=201

(数字将在一天中不断变化)

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

例如,如果Qty1 如果Qty1>=数量2,则继续执行下一个操作,即

复制c:\temp\ASNReport.txt u:\temp

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

再次感谢,
Bart

也许还有其他解决方案,但这应该可以解决问题。试试这个:

@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

也许还有其他的解决方案,不过这应该可以解决问题。试试这个:

@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

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

for /F "tokens=1,2" %%a in (Check_Quantities.txt) do set %%a& set %%b
前一行相当于执行以下操作(使用给定文件):

通过这种方式,您可以按任何方式使用变量的值。例如:

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

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

下面的命令将文件中给定的值加载到变量中:

for /F "tokens=1,2" %%a in (Check_Quantities.txt) do set %%a& set %%b
前一行相当于执行以下操作(使用给定文件):

通过这种方式,您可以按任何方式使用变量的值。例如:

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

当然,您至少需要了解批处理的基本知识才能继续…

这太棒了。非常感谢你。我真的很感谢你的帮助。这太棒了。非常感谢你。我真的很感谢你的帮助。这也太棒了。非常感谢你的帮助。这也太棒了。非常感谢你的帮助。巴特