我不断收到错误操作员错误。我想我正在使用“!”完全错了,但我不知道在哪里使用它。
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
)
有人可以解释我做错了吗?
答案 0 :(得分:1)
尝试
SET /A Square = %%A * %%A
SET /A Cubic = %%A * %%A * %%A
在为变量设置新值时,您不需要!
或%
。
答案 1 :(得分:1)
SET /A !Square! = %%A * %%A
将尝试设置名为的变量(square
的内容)
SET /A Square = %%A * %%A
将设置square
。
!var!
将检索变量var
的当前内容(即由于循环操作而发生变化),而%var%
将检索变量的初始值 - 当检查语句的有效性时("已解析")。在循环之外,!var!
= %var%
但是使用%var%
并保留!var!
以获取可能的值的传统智慧在code block
(带括号的序列行)的操作期间进行更改。