OSDN Git Service

Version 5.91
[vbslib/main.git] / _src / Test / tools / T_ModuleAssort2 / Files / _Assort / ModuleAssortMini.bat
1 @echo off\r
2 rem ********************************************************************\r
3 rem * File: ModuleAssortMini.bat\r
4 rem *\r
5 rem * Description:\r
6 rem *    ModuleAssortMini.bat uses batlib.\r
7 rem *\r
8 rem *    batlib - Batch File ShortHand Library  ver0.10  Dec.29, 2016\r
9 rem *    batlib is provided under 3-clause BSD license.\r
10 rem *    Copyright (C) 2016-2016 Sofrware Design Gallery "Sage Plaisir 21" All Rights Reserved.\r
11 rem *\r
12 rem * Example:\r
13 rem *    > ModuleAssortMini.bat  Assort  "Project"  "ReleaseProject\01"\r
14 rem ********************************************************************\r
15 \r
16 set echo_error_ID=0\r
17 \r
18 call :%1  "%~2"  "%~3"  %4\r
19 if errorlevel 1 ( echo ^<%error_message%/^> & echo current echo_error_ID=%echo_error_ID% & pause & exit /b )\r
20 if not "%~4" == "/no_input" ( pause )\r
21 exit /b\r
22 \r
23 :DebugBreak\r
24         pause\r
25 exit /b\r
26 \r
27 \r
28 rem ********************************************************************\r
29 rem * Function: Assort\r
30 rem *\r
31 rem * Arguments:\r
32 rem *    "%~1" - Project tag name.\r
33 rem *    "%~2" - Project full name.\r
34 rem *    "%~3" - Option.\r
35 rem ********************************************************************\r
36 :Assort\r
37         set project_name=%~1\r
38         set project_full_name=%~2\r
39         set option_=%~3\r
40 \r
41         rem // Set "work_path"\r
42         call :SearchParent  "_Modules"\r
43                 if errorlevel 1 ( exit /b )\r
44         call :GetParentPath  "%return_value%"\r
45                 if errorlevel 1 ( exit /b )\r
46         set work_path=%return_value%\%project_name%\r
47 \r
48         rem // Set "vbs_lib"\r
49         call :SearchParent  "_Modules\_Assort\ModuleAssortMini.vbs"\r
50                 if errorlevel 1 ( exit /b )\r
51         set vbs_lib=%return_value%\r
52 \r
53 \r
54         rem // Assort\r
55         echo === Assort ===\r
56         echo.\r
57         echo work_path (input project) = %work_path%\r
58         if not exist "%work_path%" ( echo Not found "%work_path%" & pause & goto :eof )\r
59         if not "%option_%" == "/no_input" ( pause )\r
60         echo.\r
61 \r
62         cscript  //nologo  "%vbs_lib%"  Assort  "Project.xml.proja" ^\r
63                 "%project_full_name%"  "%work_path%"\r
64 goto :eof\r
65 \r
66 \r
67 rem ********************************************************************\r
68 rem * Function: ChechOut\r
69 rem *\r
70 rem * Arguments:\r
71 rem *    "%~1" - Project tag name.\r
72 rem *    "%~2" - Project full name.\r
73 rem ********************************************************************\r
74 :ChechOut\r
75         set project_name=%~1\r
76         set project_full_name=%~2\r
77 \r
78         rem // Set "work_path"\r
79         call :SearchParent  "_Modules"\r
80                 if errorlevel 1 ( exit /b )\r
81         call :GetParentPath  "%return_value%"\r
82                 if errorlevel 1 ( exit /b )\r
83         set work_path=%return_value%\%project_name%\r
84 \r
85         rem // Set "work_path_default"\r
86         set work_path_default=%work_path%\r
87 \r
88         rem // Set "vbs_lib"\r
89         call :SearchParent  "_Modules\_Assort\ModuleAssortMini.vbs"\r
90                 if errorlevel 1 ( exit /b )\r
91         set vbs_lib=%return_value%\r
92 \r
93 \r
94         rem // Ckeck Out\r
95         echo === Ckeck Out ===\r
96         echo Enter only: %work_path_default%\r
97         set /p work_path=work_path (output project)^>\r
98         if "%work_path%" == ""  set work_path=%work_path_default%\r
99 \r
100         cscript  //nologo  "%vbs_lib%"  ChechOut  "Project.xml.proja" ^\r
101                 "%project_full_name%"  "%work_path%"\r
102 goto :eof\r
103 \r
104 \r
105 rem ********************************************************************\r
106 rem * Section: batlib\r
107 rem ********************************************************************\r
108 \r
109 \r
110 rem ********************************************************************\r
111 rem * Function: Error\r
112 rem *\r
113 rem * Arguments:\r
114 rem *    "%~1" - Value of setting %errorlevel%.\r
115 rem *    "%~2" - Error message.\r
116 rem *\r
117 rem * Return Value:\r
118 rem *    %errorlevel% - %~1. Number type\r
119 rem *\r
120 rem * Description:\r
121 rem *    This sets %error_message% variable.\r
122 rem *    This adds %error_ID% variable.\r
123 rem *    This echos each command from %error_ID% was matched %echo_error_ID%.\r
124 rem ********************************************************************\r
125 :Error\r
126         set /A error_ID = %error_ID% + 1\r
127 \r
128         set error_message=ERROR  errorlevel="%~1"  error_message="%~2"  error_ID="%error_ID%"\r
129                 rem // "echo %error_message%" cannot execute, if there are "<" and ">" of "<ERROR/>".\r
130 \r
131         if "%error_ID%" == "%echo_error_ID%"  (\r
132                 echo.\r
133                 echo ===============================================================================\r
134                 echo ^<%error_message%/^>\r
135                 call :DebugBreak\r
136                 echo.\r
137                 echo.\r
138                 echo on\r
139         )\r
140 \r
141         exit /b %~1\r
142 goto :eof\r
143 \r
144 \r
145 rem ********************************************************************\r
146 rem * Function: ClearError\r
147 rem *\r
148 rem * Arguments:\r
149 rem *    None.\r
150 rem *\r
151 rem * Return Value:\r
152 rem *    None.\r
153 rem ********************************************************************\r
154 :ClearError\r
155         set error_message=\r
156         exit /b 0\r
157 goto :eof\r
158 \r
159 \r
160 rem ********************************************************************\r
161 rem * Function: GetParentPath\r
162 rem *\r
163 rem * Arguments:\r
164 rem *    "%~1" - Path.\r
165 rem *\r
166 rem * Return Value:\r
167 rem *    %return_value% - Parent full path of "%~1"\r
168 rem ********************************************************************\r
169 :GetParentPath\r
170         set path_=%~1\r
171         if "%path_%" == ""      ( call :Error 1 "Not found parent folder" & exit /b )\r
172         if "%path_:~-1%" == ":" ( call :Error 1 "Not found parent folder" & exit /b )\r
173 \r
174         set path_=%~dp1\r
175         set return_value=%path_:~0,-1%\r
176 goto :eof\r
177 \r
178 \r
179 rem ********************************************************************\r
180 rem * Function: SearchParent\r
181 rem *\r
182 rem * Arguments:\r
183 rem *    "%~1" - Step path.\r
184 rem *\r
185 rem * Return Value:\r
186 rem *    %return_value% - Full path\r
187 rem ********************************************************************\r
188 :SearchParent\r
189         set step_path_=%~1\r
190         if "%step_path_%" == "" ( call :Error 1 "Not found parent folder" & exit /b )\r
191 \r
192         set current_directory_=%cd%\r
193 \r
194         :SearchParent_1\r
195 \r
196                 if exist "%current_directory_%\%step_path_%" (\r
197                         set return_value=%current_directory_%\%step_path_%\r
198                         goto :eof\r
199                 )\r
200 \r
201                 if "%current_directory_%" == "" (\r
202                         set return_value=\r
203                         call :Error  1  "Not found %step_path_% in parents."\r
204                         exit /b\r
205                 )\r
206 \r
207                 call :GetParentPath  "%current_directory_%"\r
208                         if errorlevel 1 ( exit /b )\r
209                 set current_directory_=%return_value%\r
210         goto :SearchParent_1\r
211 \r
212 goto :eof\r
213 \r
214 \r