Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Цитата boomdeamon:
внутри командника такой код, для каждого со своими параметрами »
В чём разные параметры? Только в имени "гивера" ?
Вот вариант с запуском вашей процедуры (уточните, в чем отличаются параметры, возможно это уточнить при её вызове)
Введено время ожидания её завершения.
По истечении этого времени она будет убита.
Код: Выделить весь код
@Echo Off
cls
	Set "KeyWord=remote result (not to be trusted):"
	Set /A WaitSec=10
	Set /A N=0

	Call :@ kf-kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprBtN
	Call :@ kf8SYc83pm5JkGt0p3TQRkuiM58O9Cr3waUtR9OoFq716lN-
	Call :@ kf-FV4QTxLl-7Ct3E6MqOtMt-RGXMxi27g4I645lw6MTWraV
	Call :@ kf_NSzfDJI1A3rOM0GQm7xsoUXHTgmdhN5-OrGD8uwL2JMvQ
	Call :@ kf8gf1PQy4u2kURl-Gz4LbS29eaN4sVdrVQkPO-JL80VhOe6
	Call :@ kf8kO6K6Qh6YM4ddjRYYlvVAK7IgyW8Zet-4ZvNrVsmQ4EOF
	Call :@ kf-P_TOdwcCh0AXHhBpICDMxStxHenWdLCDLNH5QcNpwMHJ8
	Call :@ kf91o4NNTryJ-Cw3sDGt9OTiafmETdVFUMvylQdFPoOxIsLm
	Call :@ kf9iWhwk9GwAXjtwKG-vN7rmXT3hLIT23RBY6KhVaynRrIK7
	Call :@ kf8JfFUEJhhpRW80_jqD7zzQteH6EBHOzxiOhygRhBdt4z2N

	If %N%==0 (Echo !!! Данные не получены. &Exit /B 2)

	Call :Giver

	Echo. &Echo nBestGiver=%nBestGiver%  &Echo MaxComplex=%MaxComplex% &Echo BestGiver =%BestGiver%  
Pause
Exit /B

:@
	Set "OutFile=%Tmp%\%~1"
	Call :Client %1 "%OutFile%"

	Set "Complex="
	For /F "usebackq tokens=2 delims=[]" %%s In (`2^>nul FINDSTR /I "%KeyWord%" "%OutFile%"`) Do Call :Out "a" "Complex" "c" "d"  %%s
	2>nul Del "%OutFile%"

	If "%Complex%"=="" (Echo !!! %1 не получены данные &Exit /B 2)

	Set /A N+=1
	Set "NN=%N% " 
	Echo Giver%NN:~0,2% = %1

	Call Set "Name=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000z%%Complex%%"
	Call Set "Name=@@%%Name:~-120%%"
	Call Set "%%Name%%=%1=%N%"
Exit /B

:Out
	Set "%~1=%5" &Set "%~2=%6" &Set "%~3=%7" &Set "%~4=%8"
Exit /B

:Giver
	Echo. 
	For /F "usebackq tokens=1,2,3 delims==" %%i In (`Set "@@"`) Do (
		Set "nBestGiver=%%k"
		Set "MaxComplex=%%i"
		Call Set "MaxComplex=%%MaxComplex:*z=%%"
		Call Set "Out=                                                                                       %%MaxComplex%%"
		Set "NN= %%k" 
		Call Echo %%NN:~-2%% =%%Out:~-100%%
		Set "BestGiver=%%j"
	)
Exit /B

:Client
	Set "Exe=lite-client.exe"
rem	Set "PathExe=Z:\Soft_In\WinSolit\"
	Set "PathExe="

	Start " " "%PathExe%%Exe%" -v 0 -C global.config.json -rc "runmethod %1 get_pow_params" >%2

	TimeOut /T %WaitSec%
	>nul 2>&1 TaskKill /IM "%Exe%"
 
rem	>nul Copy "Z:\Box_In\%1" %2
Exit /B
Тестировал на имитации ваших процессов

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:28, 20-11-2021 | #23