Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Ветеран


Contributor


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

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


Burning Hell,
Я тестировал на Вашем примере, для точек и минусов проблем нет
Код: Выделить весь код
%global vaRepLib vaRepLib lasr_port lasr_engine lasr_tag lasr_host lasr_signer lasr_options metaport metaprotocol metarepository lasr_sig_files_path;
			
%let vaRepLib = lasrlib;
%let lasr_port = 2289;
%let lasr_engine = sasiola;
%let lasr_tag = va_pub;
%let lasr_host = sas-vaar.dev.rnw;
%let lasr_signer = %str("http://sas-metadata.dev.rnw:85/SASLASRAuthorization");
%let lasr_options = %str(tag=&lasr_tag port=&lasr_port host="&lasr_host" signer=&lasr_signer);
Пытался понять, где у Вас не получалось. Слегка для себя модернизировал Ваш (после Iska и вставки моей процедуры) код. Естественно, полноценно тестировать не в состоянии, нет sas.exe. Работает.
Код: Выделить весь код
@Echo Off
cls

Set /A Iter=0

:Begin
If %Errorlevel%==2 GoTo :Eof

Set /A Iter+=1
Echo +++ Begin %Iter% Iteration

Set "DD=%Date:~0,2%"
set "MM=%Date:~3,2%"
set "YYYY=%Date:~6,4%"

Set "HH=%Time: =0%"
Set "MN=%HH:~3,2%"
Set "SS=%HH:~6,2%"

Set "HH=%HH:~0,2%"
Set "FMT=AM"

If %HH% GTR 12 (
	Set "FMT=PM"
	Set /A HH=%HH%-12+100
)
If %HH% GTR 100 Set "HH=%HH:~1,2%" 
If %HH%==00 Set "HH=12"

Set "LogFile=D:\logs\check_va_lasr_status_%YYYY%-%MM%-%DD%__%HH%.%MN%.%SS% %FMT%.log" 

Call "D:\SAS\sas.exe" -sysin "D:\codes\check_va_lasr\check_va_lasr_status.sas" -log "%LogFile%"

Call :get_params_from_main_config "D:\codes\common\init_environment.sas" ""lasr_port" "lasr_host""

>nul 2>&1 findstr.exe /i /l /c:"error" /c:"connection" /c:"lasr" /c:"%lasr_port%" /c:"%lasr_host%" "%LogFile%" && (
	Call "D:\SAS\sas.exe" -sysin "D:\codes\check_va_lasr\check_lasr_log_and_run.sas" -nolog
	CHOICE /C YN /T 15 /D N /M "Iteration %Iter% finished with Errors. Y - Continue, N - Cancel."
	Echo:
	GoTo :Begin
) || (
	Echo +++ Iteration %Iter% finished successfully
	GoTo :Eof
)

GoTo :Eof

:get_params_from_main_config
	Set "Key=let"
	FOR /F "usebackq tokens=1,2,3 delims==; " %%i IN (`more %1 2^>nul`) DO (
		For %%a In (%~2) Do Call :Ident %%a "%%i" "%%j" "%%k"
	)
GoTo :Eof

:Ident
	If /I %2=="%Key%" If /I %1==%3 Set "%~1=%~4"
GoTo :Eof

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


Последний раз редактировалось megaloman, 28-07-2017 в 19:16.

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

Отправлено: 18:17, 28-07-2017 | #47