|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
Как поставить счетчик количества обращений батника 1.cmd к батнику 2.cmd?12.06.2022, 13:19. Показов 1359. Ответов 13
Как поставить счетчик количества обращений батника 1.cmd к батнику 2.cmd?
Упрощенно- Создал переменную в 2.cmd батник 2.cmd: @echo off for...( If () ) <some code > set /a Count=1 echo "Count in 2.cmd: %Count%" <Честно присваивает локально: "Count in 2.cmd: 1"> exit /b в 1.cmd присваиваю возврат батник 1.cmd: @echo off set /a TotCount=0 <some code> call 2.cmd Arg1 Arg2.. set /a TotCount=%TotCount% + %Count% echo "TotCount=%TotCount% + %Count%" <Выдает "TotCount= 0 + 1" и так далее> В этом варианте всё работает, но как только в коды батников вставяю циклы с локальными переменными типа FOR /F "tokens=2-5 delims=," %%X IN (%Myfile%.tm) DO ( <some code> if /i "!Temper_1:~14,2!" GTR "90" ( <some code> ) перестает возвращать переменную echo "TotCount=%TotCount% + %Count%" <Выдает "TotCount= 0 + " или пишет 'Argument not found'> После нескольких циклов в 1.cmd, даже TotCount теряет "TotCount= + ", если ее явно не присвоить в цикле: If %Count% NEQ 1 set /a TotCount=0 Скакал вокруг костра, с Setlocal Enable/Diasable и с !var! всесто %var%, но просветление так и не пришло. Добавлю, что есть несколько обращений из 1.cmd к другим батникам-подпрограммам Что я упускаю?
0
|
|
| 12.06.2022, 13:19 | |
|
Ответы с готовыми решениями:
13
Счетчик количества обращений - добавить вывод количества обращений за сегодня Как из батника запустить cmd.exe от имени администратора с выполнением определённых команд? Задача на cmd с созданием батника |
|
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
|
|
| 12.06.2022, 14:05 | |
|
Распишите конечный код, который нужен, из Вашей писанины ничего не понятно
0
|
|
|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
| 12.06.2022, 15:03 [ТС] | |
|
Там очень много кода, неимеющего отношения к вопросу.
Дело в том, что основной батник вызывает еще один на проверку условий, если условие выполняется, запускается третий батник из второго. В третьем батнике назначен счетчик set /a Count=1, который должен вернуть эту единицу в первый батник. Вот тут и заковырка. Значение не передается
0
|
|
|
|
|||||||||||||
| 12.06.2022, 15:14 | |||||||||||||
|
SkipperVV,
cmd1
Оформляйте Ваш код в одном файле процедурами.
2
|
|||||||||||||
|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
| 12.06.2022, 16:09 [ТС] | |
|
Большое спасибо. Я надеялся, что простой счеичик гораздо проще оформить. Я уже подумывалчерез txt файл запись/считать, но это очень уж нелепо.
0
|
|
|
6796 / 2293 / 348
Регистрация: 10.12.2013
Сообщений: 7,920
|
||||||||||||||||||||||
| 12.06.2022, 16:28 | ||||||||||||||||||||||
|
Не ту страну назвали Гондурасом и не тот инструмент был выбран MS в прошлом веке в качестве командной оболочки. Все он делает не так.
Добавлено через 4 минуты Любой скриптовый язык готов предоставить пользователю в любой точке исполнения полную информацию по стеку вызова; кто кого вызвал, с какими аргументами, в какой строке итд Любой. Но только не cmd. powershell. например. скрипт Script0 вызывает Script1 script0.ps1
0
|
||||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
| 12.06.2022, 16:46 [ТС] | |
|
Мне надо опросить кучу сетевых машин, раздать команды, при необходимости, и вывести отчет. Я столкнулся с тем, что curl при обрашении к девайсам, сработал только с командной строки. Вот я на батниках и зацыклился. Скрипта много и переписывать лень, да и нет жизненной необходимости. Я, для красивкости, хотел добавить счетчик на вызов процедуры.
Более красиво и грамотно написал в bash под Linux, только надо прошить в девайсы. Вот жду когда. Пока под ДОСом работает. Странно, что переменная теряется. ДОС не запускает новый процесс при вызове "функции"
0
|
|
|
|
||||||||||||||||||||||
| 12.06.2022, 16:55 | ||||||||||||||||||||||
Сообщение было отмечено SkipperVV как решение
Решение
SkipperVV, Где сложность? Проще некуда:
Или еще вариант
Добавлено через 7 минут
2
|
||||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
| 12.06.2022, 18:00 [ТС] | |
|
Я не программист. Я бывший капитан. Вот пришлось работу поменять. Осваиваю.
Добавлено через 45 минут Большое спасибо. Не могли бы вы объяснить +++ и ---? Я хочу вникнуть, а не просто скопировать код Добавлено через 9 минут Пардон, ++++ в эхе. Сразу не врубился
1
|
|
|
|
||
| 12.06.2022, 18:05 | ||
|
SkipperVV,
2
|
||
|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
| 12.06.2022, 18:18 [ТС] | |
|
Да, да... я уже извинился. Невнимателен.
Спасибо
1
|
|
|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
| 13.06.2022, 10:55 [ТС] | |
|
Здравствуйте
К сожалению, ваш код, в реальной программе, не просто опрашивает CMD2, а еще и запускает его, когда не надо, и всё равно возвращает 0 Echo CMD2 +++ Count=%Count% <Echo CMD2 +++ Count=0>
0
|
|
|
|
|||
| 13.06.2022, 11:24 | |||
! Что Вы имеете ввиду "опрашивает CMD2"? Я понимаю задачу как она сформулирована
![]() Дайте Ваши реальные батники, всё, что не относится к подсчету удалите (нет большого желания разбираться в чужом коде), это надо видеть. Мои примеры все работают, надеюсь, Вы в этом убедились. Значит, ищем не у меня.
0
|
|||
|
2 / 2 / 0
Регистрация: 21.05.2022
Сообщений: 14
|
|
| 13.06.2022, 20:50 [ТС] | |
|
Здравствуйте, Злой старый человек
![]() Большое спасибо за плмощь. Я таки добил этот вопрос противолодочным зигзагом с Setlocal-ами ........... call set Temper_2=%%Y echo Temper 2: !Temper_2:~14,2! if /i "!Temper_2:~14,2!" GTR "90" ( echo Temper_2 "!Temper_2:~14,2!". SHUT DOWN color CE endlocal set /a Shutdown=%Shutdown%+1 Setlocal EnableDelayedExpansion call :ShutDown %IP% !Temper_2:~14,2! ) Но я так и не понял, почему я не смог простой счетчик поставить в подпрограмме. Можно я к вам буду по стариковски обращаться. Я тоже старый и совсем злой
0
|
|
| 13.06.2022, 20:50 | |
|
Помогаю со студенческими работами здесь
14
Проблемы с запуском батника, пустое окно Cmd
Восстановление значений cmd [cmd, ooov.net] Выполнили 1.cmd , потом отслеживаем 10мин движение мышки (или ещё какое бездействие системы) - если да то запуск 2.cmd
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|