вторник, 26 апреля 2016 г.

#1235. И ещё про "утилиты" и grep. Только код

gens.cmd - генерация элементов с указанным стереотипом
%1 - имя стереотипа

del %~1.script.list
findstr /M /C:"Stereotype st_%~1" *.pas.ms.script>> %~1.script.list
rem grep -l+ "Stereotype st_%~1" *.pas.ms.script>> %~1.script.list
del run%~1.script.list
for /f %%i in (%~1.script.list) do echo %%i.runner>> run%~1.script.list
call cal.cmd -list:run%~1.script.list

gen.cmd - генерация указанного элемента
%1 - имя элемента подели или его UID или его "целевое проектное имя".

del %~1.script.list
findstr /M /C:"CONST Name '%~1'" *.pas.ms.script>> %~1.script.list
findstr /M /C:"CONST extprop:pas:TypeName '%~1'" *.pas.ms.script>> %~1.script.list
findstr /M /C:"CONST UID '%~1'" *.pas.ms.script>> %~1.script.list
rem grep -l+ "'%~1'" *.pas.ms.script > %~1.script.list
del run%~1.script.list
for /f %%i in (%~1.script.list) do echo %%i.runner>> run%~1.script.list
call cal.cmd -list:run%~1.script.list

genup.cmd - генерация элементов с указанным пользовательским свойством и его значением
%1 - имя свойства - needUC или "need script".
%2 - значение свойства - true, false, число или строка 'Hello' или "'Hello world".

del found.script.list
findstr /M /R /C:"CONST .%~1. %~2" *.pas.ms.script>> found.script.list
rem grep -l+ "Stereotype st_%~1" *.pas.ms.script>> found.script.list
del torun.script.list
for /f %%i in (found.script.list) do echo %%i.runner>> torun.script.list
call cal.cmd -list:torun.script.list

genTargets.cmd - генерация ВСЕХ проектных файлов

del targets.script.list
findstr /M /C:"Stereotype st_ExeTarget" *.pas.ms.script>> targets.script.list
findstr /M /C:"Stereotype st_AdapterTarget" *.pas.ms.script>> targets.script.list
findstr /M /C:"Stereotype st_TestTarget" *.pas.ms.script>> targets.script.list
findstr /M /C:"Stereotype st_VCMTestTarget" *.pas.ms.script>> targets.script.list
findstr /M /C:"Stereotype st_VCMGUI" *.pas.ms.script>> targets.script.list
del targetstorun.script.list
for /f %%i in (targets.script.list) do echo %%i.runner>> targetstorun.script.list
call cal.cmd -list:targetstorun.script.list

genUsed.cmd - генерация элементов использующих указанный
%1 - ИМЯ элемента модели. UID или "проектное имя" - не подходят.

del %~1Used.script.list
findstr /M /C:"CONST Name '%~1'" *.pas.ms.script>> %~1Used.script.list
findstr /M /C:"CONST extprop:pas:TypeName '%~1'" *.pas.ms.script>> %~1Used.script.list
findstr /M /C:"CONST UID '%~1'" *.pas.ms.script>> %~1Used.script.list
findstr /M /C:"// %~1" *.pas.ms.script>> %~1Used.script.list
rem grep -l+ "'%~1'" *.pas.ms.script > %~1Used.script.list
del run%~1Used.script.list
for /f %%i in (%~1Used.script.list) do echo %%i.runner>> run%~1Used.script.list
call cal.cmd -list:run%~1Used.script.list

ca.cmd - генерация ВСЕХ элементов модели

pushd W:\shared\models\NewSchool\Scripts
call clearbackup.cmd
call clear.cmd
W:\common\env\QuickLaunch\callMSS.exe W:\shared\models\NewSchool\Scripts\*.pas.ms.script.runner
rem call clearempty.cmd
popd

Это всё - ЧЕРТОВСКИ НЕЧИТАБЕЛЬНО (тот же REXX или командный интерпретатор RSX-11 - сильно читабельнее). Руки оторвать тем, кто это придумал.

Но зато - работает....

(+) http://programmingmindstream.blogspot.ru/2016/04/1209.html
http://programmingmindstream.blogspot.ru/2016/04/1134.html

Комментариев нет:

Отправить комментарий