Batch file 如何在FOR/L中使用EnableDelayedExpansion?

Batch file 如何在FOR/L中使用EnableDelayedExpansion?,batch-file,Batch File,我一直在得到缺少操作员的错误信息。我想我用的“!”完全错了,但我不知道在哪里用 ECHO ON SETLOCAL EnableDelayedExpansion SET CSV_Name= SET /P CSV_Name=Please enter the CSV Name. ECHO Zahl;Quadrat;Kubik >> C:\Users\Jeff\Desktop\%CSV_Name%.csv SET Square=0 SET Cubic=0 FOR /L %%A IN

我一直在得到缺少操作员的错误信息。我想我用的“!”完全错了,但我不知道在哪里用

ECHO ON

SETLOCAL EnableDelayedExpansion

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

ECHO Zahl;Quadrat;Kubik >> C:\Users\Jeff\Desktop\%CSV_Name%.csv

SET Square=0
SET Cubic=0
FOR /L  %%A IN (2, 2, 100) DO (
 SET /A !Square! = %%A * %%A
 SET /A !Cubic! = %%A * %%A * %%A
 ECHO %%A
 ECHO !Square!
 ECHO %%A;!Square!;!Cubic! >> C:\Users\Jeff\Desktop\%CSV_Name%.csv
 )
有人能解释一下我做错了什么吗

 SET /A Square = %%A * %%A
 SET /A Cubic = %%A * %%A * %%A
你不需要
%

尝试

 SET /A Square = %%A * %%A
 SET /A Cubic = %%A * %%A * %%A
SET /A !Square! = %%A * %%A
你不需要
%

SET /A !Square! = %%A * %%A
将尝试设置名为的变量(square的内容)

将设置为方形

!瓦尔
将检索变量
var
的当前内容(即,由于循环的操作而发生的变化),而
%var%
将检索变量的初始值-检查语句的有效性(“解析”)时的状态。在循环之外,
!瓦尔=
%var%
但是使用
%var%
和保留
是传统的智慧!瓦尔用于在
代码块
(括号内的行序列)操作期间可能更改的值

将尝试设置名为的变量(square的内容)

将设置为方形


!瓦尔
将检索变量
var
的当前内容(即,由于循环的操作而发生的变化),而
%var%
将检索变量的初始值-检查语句的有效性(“解析”)时的状态。在循环之外,
!瓦尔=
%var%
但是使用
%var%
和保留
是传统的智慧!瓦尔用于在
代码块操作过程中可能更改的值(括号中的行序列)。

不起作用。我得到了一个例子<代码>设置/方形=70*70回声!正方形@HenS-你不工作是什么意思?这是在输出中还是错误再次出现?这不起作用。我得到了一个例子<代码>设置/方形=70*70回声!正方形@HenS-你不工作是什么意思?这是在输出中还是错误再次出现?