【问题标题】:Batch For /L (0, 1, 100) Loop only even numbers?Batch For /L (0, 1, 100) 只循环偶数?
【发布时间】:2017-10-20 09:24:11
【问题描述】:

我想在 .csv 文件中传输 1 到 100 之间的所有偶数。我试过这个:

SET CSV_Name=
SET /P CSV_Name=Please enter the CSV Name.

ECHO Number;Square;Cubic >> C:\Users\A78100264\Desktop\%CSV_Name%.csv

FOR /L  %%A IN (0, 1, 100) DO (
 SET /A d=%%A / 2
 SET /A e=%d% * 2
 IF %%A == %e% (
 ECHO %%A
 ECHO %%A >> C:\Users\A78100264\Desktop\%CSV_Name%.csv
 )
 )

但这不起作用。有人有更好的主意吗?

【问题讨论】:

  • “不起作用”是什么意思?有什么错误吗?也得到奇数?你能解释一下吗?
  • 搜索延迟扩展。正如您所拥有的那样,%d%%d% 的值在 for 循环开始时被扩展一次,而不是(正如人们所期望的那样)每次在循环周围重新评估。

标签: loops batch-file


【解决方案1】:

您自己的答案实际上会输出 0 到 100 之间的所有偶数:

FOR /L %%A IN (0 2 100) DO …

从技术上讲,这将实现您的问题的目标,(1 到 100 之间的所有偶数)

FOR /L %%A IN (2 2 98) DO …

【讨论】:

    【解决方案2】:

    我刚刚意识到我可以做到:

    FOR /L  %%A IN (0, 2, 100) DO (
     ECHO %%A
     ECHO %%A >> C:\Users\A78100264\Desktop\%CSV_Name%.csv
     )
    

    【讨论】:

    • 是的。阅读帮助文件时会有所帮助。 (start,step,end)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    相关资源
    最近更新 更多