Что не так с этим пакетным скриптом? - PullRequest
2 голосов
/ 26 апреля 2011

Мне нужна партия, которая читает число из файла, увеличивает его и сохраняет обратно в этот файл ... Вот что я придумала:

@ECHO OFF
SETLOCAL EnableDelayedExpansion

IF EXIST script\BUILDVERSION (
  SET /p input = <script\BUILDVERSION
  SET /a result=%input%+1
  ECHO %result% > script\BUILDVERSION
) ELSE (
  ECHO 0 > script\BUILDVERSION
)

Сначала это работало встранным образом, результат чтения числа из файла казался небольшим случайным числом, результат суммы тоже казался случайным ... Я не знаю, что я сделал, но теперь он даже не читает числоиз файла в переменную ...

Заранее спасибо за помощь!

1 Ответ

4 голосов
/ 26 апреля 2011

Вместо %input% и %result%, попробуйте использовать !input! и !result!. Кажется, это работает лучше при использовании отложенного расширения. Также убедитесь, что у вас нет лишних пробелов при чтении из файла. В итоге вы получите:

@ECHO OFF
SETLOCAL EnableDelayedExpansion

IF EXIST script\BUILDVERSION (
  SET /p input=<script\BUILDVERSION
  SET /a result=!input!+1
  ECHO !result! > script\BUILDVERSION
) ELSE (
  ECHO 0 > script\BUILDVERSION
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...