在批处理脚本中分配变量

时间:2015-03-02 08:46:16

标签: variables batch-file

我是Windows批处理编程的新手,我在变量赋值中发现了问题。这是我的代码:

@echo off
setlocal enabledelayedexpansion
set Video=1
set FILEMEDIA=outputMedia.txt
for /f %%a in (%FILEMEDIA%) do (
    set /a Video=%Video%+1
    @echo Video
    set file=%%a
    @echo file
)

如果FILEMEDIA有两行,我想获取Video = 2和文件变量行。但是,最后我获得了Video = 1,当我尝试打印文件时出错(回显已关闭)。

1 个答案:

答案 0 :(得分:1)

How do I increment a DOS variable in a FOR /F loop?

有些重复

应延迟展开的变量以!VARIABLE!而不是%VARIABLE%引用。

@echo off
setlocal enabledelayedexpansion
set Video=1
set FILEMEDIA=outputMedia.txt
for /f %%a in (%FILEMEDIA%) do (
    set /a Video+=1
    @echo !Video!
    set file=%%a
    @echo file
)
endlocal