2015-02-08 75 views
0

又一个愚蠢的问题,但..为什么这个批处理函数产生一个文件充满0而不是1,2,3,4 ...等等? 是否需要一些魔法?...我已经阅读了没有结果的例子。批处理功能:递增不工作

:fixHtml 

setlocal EnableDelayedExpansion 

set /a count=0 

>"%~2" (
    for /f "usebackq delims=" %%A in ("%~1") do (
    if %count%==1 (echo "ABCD") else (echo %count%) 
    set /a count=count+1 
) 
) 

endlocal 
goto:eof 

该函数被修改用​​于测试目的。稍后它应该根据计数器的位置修改原始文件(参数%1)的行并生成文件2(%2)。

在此先感谢。

回答

1

您已启用延迟扩展,但您没有使用它。

变化if %count%==1 (echo "ABCD") else (echo %count%)

if !count!==1 (echo "ABCD") else (echo !count!)

+0

啊,非常感谢你!想想我一定是盲目的... 虽然有一个问题,万一你能帮忙。由于我只是部分地修改了文件,所以我使用如下的行: if!count!== 1(echo“ABCD”)else(echo。%% A) 但是这样做的结果是字符串' ! - '从原始文件改为:'< - '。任何方式来防止呢? – DragonGamer 2015-02-08 06:45:03

+0

我还没有测试过它,但我相信你可以绕过'echo“%% A”' – SomethingDark 2015-02-08 07:00:12

+0

没有..只添加“到每一行.. – DragonGamer 2015-02-08 07:07:40