递增for循环内的计数器变量(incrementing a counter variable ins

2019-10-18 01:16发布

为什么变量“号”没有在FOR循环再次越过它增加?

setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N+=1
set /a number=!number!+1
echo  %%a !number!.jpg >output.txt
)

Answer 1:

OK,试试这个请:

@echo off &setLocal EnableDelayedExpansion
(for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N+=1
set /a number=!number!+1
echo  %%a !number!.jpg 
))>output.txt

在重定向的情况下,你需要>>output.txt或代码块(括号内)和>output.txt



Answer 2:

首先,我不建议您启用的变量扩展,当你与文件名的工作,只使用它,如果你真的知道什么手段使delayedexpansion,好处(提高速度)和底片(丢失字符)。

你也正在分配的变量“N”的值,但你不使用VAR。

下面是代码:

@echo off

(for /f "usebackq tokens=* delims= " %%a in ("input.txt") do (
    Set /A Number+=1
    Call Echo %%a %%number%%.jpg
))>"Output.txt"

Pause&Exit


Answer 3:

你应该试试

setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N++
set /a number=!number!+1
echo  %%a !number!.jpg >output.txt
)

编辑或尝试:

setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N++
set /a number=!number!++
echo  %%a !number!.jpg >output.txt
)


或者,也许是心不是++即使你使用的编程请问这是什么支持。 让我知道,虽然!
Shadowpat



文章来源: incrementing a counter variable inside a FORLOOP