2015-02-08 74 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