最近我发了一个批处理文件我遇到了问题, 当我做一个for / f循环时,我在“标记”中使用了一个变量,就像这个例子:
for /f "delims= tokens=!count2!" %%a in ('type test.txt 2^>nul') do (
你可以在循环中看到,我有变量!count2!
。
当我测试它时,它显示!count2!" was unexpected at this time
。我不知道为什么?
任何人都可以帮忙吗?
这是我尝试过的完整代码:
@echo off
setlocal enableextensions enabledelayedexpansion
set "count1=0"
set "count2=0"
for /l %%b in (1 1 10) do (
set /a "count2+=1"
set /a "count1+=1"
for /f "delims= tokens=!count2!" %%a in ('type test.txt 2^>nul') do (
set "str!count1!=%%a"
)
)
echo !str1! !str2! !str3! !str4!
pause
顺便说一句,test.txt包含test hello # ###
并且,我想将test
,hello
,#
和###
设置为自己的变量(str1,str2,str3和str4)。
并且我尝试用%代替!
告诉我,如果我不够清楚!
感谢所有帮助:)
答案 0 :(得分:2)
为什么要打扰令牌?
@echo off
setlocal enabledelayedexpansion
set /a count=0
for /f "delims=" %%i in (test.txt) do for %%j in (%%i) do (
set /a count+=1
set str!count!=%%j
)
set str