@echo off
SetLocal EnableDelayedExpansion
for /F "delims=" %%i in (pack.id) do set pid=%%i
echo Last pack number: %pid%
set /P pid_flag=Обновить номер пакета? [Y/N]:
if /i %pid_flag% EQU y (
set /A pid=%pid%+1 > pack.id
goto :end_pid_question
)
if /i %pid_flag% EQU n (
set pid=%pid%
) ELSE (
echo Try again...
goto :pid_question
)
Пустой вывод в файл. Да же при отсутствии файла pack.id они создаются, но ничего не записывается.
ПО факту нужно брать оттуда цифру, делать +1 и записывать обратно в файл.
если делаю:
echo %pid% > pack.id
пишет что вывод команд echo отключен.
если делаю:
echo+%pid%>pack.id
то почему-то записывает 3 при первом запуске, и больше ничего.
2. Есть ещё вторая проблема
set /P pid_flag=Обновить номер пакета? [Y/N]:
Если не вводить символы и просто нажать Enter, то вываливается "ошибка синтаксиса".
А обработать на отсутствие данных не получается.
Пробовал:
if not defined
if not exist
if not
Не взлетели (