你好如果我在没有循环的情况下运行我的编码,我得到正确的输出我希望。添加循环后,我将文本文件中的%temp%松开。
此代码有效:
CALL tuo "%_ydeck%" "%_enemy%%%k" ordered -v -t %_threads% -o="%~dp0data"\%_member%.txt yf "%_yfort1%,%_yfort2%" climb %_climb%>>temp.txt
for /F "delims=" %%t in ('findstr "Optimized Deck:" temp.txt') do set _temp=%%t
CD Results
ECHO %_member%,%Date%,%_enemy%%%k,%_yfort1% and %_yfort2%,%_temp%>>Raid.txt
CD %~dp0
del temp.txt
一旦我添加循环,我就不会得到%_temp%。我需要做些什么来解决这个问题。我已经尝试过SetLocal EnableDelayedExpansion而没有运气,除非我把它放在错误的地方。
以下代码不适用于循环。
for %%k in (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26) do (
CALL tuo "%_ydeck%" "%_enemy%%%k" ordered -v -t %_threads% -o="%~dp0data"\%_member%.txt yf "%_yfort1%,%_yfort2%" climb %_climb%>>temp.txt
for /F "delims=" %%t in ('findstr "Optimized Deck:" temp.txt') do set _temp=%%t
CD Results
ECHO %_member%,%Date%,%_enemy%%%k,%_yfort1% and %_yfort2%,%_temp%>>Raid.txt
CD %~dp0
del temp.txt
)
任何帮助都将不胜感激。
答案 0 :(得分:0)
SetLocal EnableDelayedExpansion
然后使用!_temp!
代替%_temp%
说明:
在编写%variable%
时批处理,它将在编译时扩展变量。
如果您的变量将更改(如果您稍后将_temp
设置为其他值),则需要启用延迟扩展。这样,您可以决定使用!variable!
在运行时扩展变量而不是编译时。