CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Ответить
Аватара пользователя
zhxr

CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение zhxr »

Здравствуйте, есть такой скрипт:



Код:

Код: Выделить всё

@echo off
chcp 65001>nul
set /p Var=counter.txt
....

Читает число из файла, прибавляет единицу и пишет результат обратно в файл.

Теперь пытаюсь поместить всю эту радость в одну строку:



Код:

Код: Выделить всё

setlocal enabledelayedexpansion
set "BuildN=set /p Var=counter"
прога %BuildN% ещё аргументы

но с кавычками не справляюсь.

Пока даже set "BuildN=set /p Var=counter"[/i] не получается корректно исполнить.

Помогите пожалуйста с конфигурацией. Может скобки нужны или ещё что.
Аватара пользователя
zhxr

Re: CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение zhxr »

Здравствуйте, есть батник который крутится всё время.

В конце каждой рутины он вызывает другой батник и передаёт ему аргументы.



Код:

Код: Выделить всё

call Next.bat

На данный момент я желаю повысить информативность и пытаюсь вывести информацию в title.

Если очень упрощённо то:



Код:

Код: Выделить всё

call "Считаем плюс один и передаём результат в переменную bild" & title %times run% х %bild% & Next.bat

С %times run% проблем нет это считается отдельно и изменяется редко. Но с %bild% у меня загвоздка.

Проблема в том что всё включая счётчик надо поместить в одну строку

иначе тайтл не меняется. А у меня проблема с скобками.

Я не настолько опытен что бы самому справится.

Я попытался вставить то что вы написали.

На тестовом файле счётчик работает и заголовок меняется.

Но в живую не работает. Я пока не разобрался как именно исполняется

ваш код.
Аватара пользователя
Iska

Re: CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение Iska »

zhxr, без полного кода навряд ли можно будет что-то сказать.
Аватара пользователя
Iska

Re: CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение Iska »

Iska, скажите пожалуйста что именно делают угловые скобки?

Это экранирование? Совсем не понимаю последовательность исполнения.

"counter.txt" echo !iBuildNumber!

Как разделить это на этапы?

1)

Код:

Код: Выделить всё

"counter.txt" set /p iBuildNumber=

Почему не set /p iBuildNumber="counter.txt"?

2)

Код:

Код: Выделить всё

set /a iBuildNumber += 1

3) < 1) + 2) > пишем в "counter.txt"

4) echo !iBuildNumber!

Почему перед echo !iBuildNumber! нет & и это работает?
Аватара пользователя
Iska

Re: CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение Iska »

Цитата zhxr:



Iska, скажите пожалуйста что именно делают угловые скобки?
CMD/BAT - Надо сконфигурировать последовательное исполнение команд




Перенаправление потоков.




Цитата zhxr:



Это экранирование?
CMD/BAT - Надо сконфигурировать последовательное исполнение команд




Нет. Экранирование делается посредством «^».




Цитата zhxr:



Совсем не понимаю последовательность исполнения.

"counter.txt" echo !iBuildNumber!

Как разделить это на этапы?
CMD/BAT - Надо сконфигурировать последовательное исполнение команд






Код:

Код: Выделить всё

"%sBuildNumberFile%" echo %iBuildNumber%


Цитата zhxr:



Почему не set /p iBuildNumber="counter.txt"?
CMD/BAT - Надо сконфигурировать последовательное исполнение команд




Видимо, имелось в виду «Почему не «set /p iBuildNumber=
Аватара пользователя
alpap

Re: CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение alpap »

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



Код:

Код: Выделить всё

@echo off
set "f=file.txt"
(if exist "%f%" "%f%" cmd /v/c echo:!n!
pause>nul

для начального (нового) счета, файл нужно удалять.
Аватара пользователя
Iska

Re: CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение Iska »

Цитата alpap:



и чтобы при следующем запуске число в файле увеличивалось по отношению к последнему записанному, а не первоначальному
CMD/BAT - Надо сконфигурировать последовательное исполнение команд




Так вроде ж так и работает.
Аватара пользователя
alpap

Re: CMD/BAT - Надо сконфигурировать последовательное исполнение команд

Сообщение alpap »

Цитата Iska:



Так вроде ж так и работает.
CMD/BAT - Надо сконфигурировать последовательное исполнение команд




Действительно



Просто помню у меня были проблемы после перезагрузки надо было помнить последнее состояние, а файл то ли обнулялся, то ли перезаписывался, без хитростей не получалось, но то видимо такая задача была, а в голове засело.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»