2 rem ********************************************************************
\r
3 rem * File: ModuleAssortMini.bat
\r
6 rem * ModuleAssortMini.bat uses batlib.
\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
13 rem * > ModuleAssortMini.bat Assort "Project" "ReleaseProject\01"
\r
14 rem ********************************************************************
\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
28 rem ********************************************************************
\r
29 rem * Function: Assort
\r
32 rem * "%~1" - Project tag name.
\r
33 rem * "%~2" - Project full name.
\r
34 rem * "%~3" - Option.
\r
35 rem ********************************************************************
\r
37 set project_name=%~1
\r
38 set project_full_name=%~2
\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
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
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
62 cscript //nologo "%vbs_lib%" Assort "Project.xml.proja" ^
\r
63 "%project_full_name%" "%work_path%"
\r
67 rem ********************************************************************
\r
68 rem * Function: ChechOut
\r
71 rem * "%~1" - Project tag name.
\r
72 rem * "%~2" - Project full name.
\r
73 rem ********************************************************************
\r
75 set project_name=%~1
\r
76 set project_full_name=%~2
\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
85 rem // Set "work_path_default"
\r
86 set work_path_default=%work_path%
\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
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
100 cscript //nologo "%vbs_lib%" ChechOut "Project.xml.proja" ^
\r
101 "%project_full_name%" "%work_path%"
\r
105 rem ********************************************************************
\r
106 rem * Section: batlib
\r
107 rem ********************************************************************
\r
110 rem ********************************************************************
\r
111 rem * Function: Error
\r
114 rem * "%~1" - Value of setting %errorlevel%.
\r
115 rem * "%~2" - Error message.
\r
117 rem * Return Value:
\r
118 rem * %errorlevel% - %~1. Number type
\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
126 set /A error_ID = %error_ID% + 1
\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
131 if "%error_ID%" == "%echo_error_ID%" (
\r
133 echo ===============================================================================
\r
134 echo ^<%error_message%/^>
\r
145 rem ********************************************************************
\r
146 rem * Function: ClearError
\r
151 rem * Return Value:
\r
153 rem ********************************************************************
\r
160 rem ********************************************************************
\r
161 rem * Function: GetParentPath
\r
164 rem * "%~1" - Path.
\r
166 rem * Return Value:
\r
167 rem * %return_value% - Parent full path of "%~1"
\r
168 rem ********************************************************************
\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
175 set return_value=%path_:~0,-1%
\r
179 rem ********************************************************************
\r
180 rem * Function: SearchParent
\r
183 rem * "%~1" - Step path.
\r
185 rem * Return Value:
\r
186 rem * %return_value% - Full path
\r
187 rem ********************************************************************
\r
190 if "%step_path_%" == "" ( call :Error 1 "Not found parent folder" & exit /b )
\r
192 set current_directory_=%cd%
\r
196 if exist "%current_directory_%\%step_path_%" (
\r
197 set return_value=%current_directory_%\%step_path_%
\r
201 if "%current_directory_%" == "" (
\r
203 call :Error 1 "Not found %step_path_% in parents."
\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