2015-02-08 2 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).

Заранее спасибо.

ответ

1

У вас включено расширенное расширение с задержкой, но вы его не используете.

Изменить if %count%==1 (echo "ABCD") else (echo %count%)

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

+0

Ahh, спасибо большое! Думаю, я, должно быть, был слепым ... Один вопрос, хотя, если вы можете помочь. Поскольку я изменяю файл только частично, я использую строку следующим образом: if! Count! == 1 (echo "ABCD") else (echo. %% A) Но это приводит к тому, что строка '< ! - 'из исходного файла изменяется на:' <- '. Любой способ предотвратить это? – DragonGamer

+0

Я не тестировал его, но считаю, что вы можете обойти его с помощью «echo» %% A »' – SomethingDark

+0

Нет .., который добавляет только к каждой строке. – DragonGamer

Смежные вопросы