Skip to content

Commit 81eedfd

Browse files
committed
Added logic to create bat file
1 parent e0ee47f commit 81eedfd

File tree

1 file changed

+48
-30
lines changed

1 file changed

+48
-30
lines changed

create-release.js

Lines changed: 48 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,10 @@ const filesToCopy = [
5757
// 실행 파일
5858
{ src: `dist/sql2excel-v${version}.exe`, dest: `${releaseDir}/sql2excel-v${version}.exe` },
5959

60-
// 배치 파일 (버전별로 exe 파일명 교체)
61-
{ src: 'sql2excel.bat', dest: `${releaseDir}/sql2excel.bat`, replaceVersion: true },
62-
6360
// 설정 파일
6461
{ src: 'config/dbinfo.json', dest: `${releaseDir}/config/dbinfo.json` },
6562

66-
// 문서 파일 (USER_MANUAL.md는 버전별로 명령어 교체)
63+
// 문서 파일
6764
{ src: 'README.md', dest: `${releaseDir}/README.md` },
6865
{ src: 'README_KR.md', dest: `${releaseDir}/README_KR.md` },
6966
{ src: 'USER_MANUAL.md', dest: `${releaseDir}/user_manual/USER_MANUAL.md`},
@@ -74,36 +71,56 @@ const filesToCopy = [
7471
];
7572

7673
// 파일 복사
77-
filesToCopy.forEach(({ src, dest, replaceVersion }) => {
74+
filesToCopy.forEach(({ src, dest }) => {
7875
if (fs.existsSync(src)) {
7976
console.log(`- ${path.basename(dest)} 복사...`);
80-
81-
if (replaceVersion) {
82-
let content = fs.readFileSync(src, 'utf8');
83-
84-
if (src.endsWith('.bat')) {
85-
// Node.js 체크 부분 제거 (16-24번 라인)
86-
content = content.replace(
87-
/:: Check Node\.js installation[\s\S]*?exit \/b 1\s*\)/m,
88-
':: Standalone executable - no Node.js check needed'
89-
);
90-
91-
// node src/excel-cli.js를 sql2excel-v{version}.exe로 교체
92-
content = content.replace(/node src\/excel-cli\.js/g, `sql2excel-v${version}.exe`);
93-
94-
console.log(` → Node.js 체크 제거`);
95-
console.log(` → node src/excel-cli.js를 sql2excel-v${version}.exe로 교체`);
96-
}
97-
98-
fs.writeFileSync(dest, content);
99-
} else {
100-
fs.copyFileSync(src, dest);
101-
}
77+
fs.copyFileSync(src, dest);
10278
} else {
10379
console.warn(`⚠️ 파일을 찾을 수 없습니다: ${src}`);
10480
}
10581
});
10682

83+
// 배치 파일 생성
84+
console.log('- 배치 실행 파일 생성...');
85+
86+
// run.bat (English version)
87+
const runBatContent = `@echo off
88+
chcp 65001 >nul
89+
cls
90+
91+
echo.
92+
echo ══════════════════════════════════════════════════════════════════
93+
echo SQL2Excel Tool v${version}
94+
echo ══════════════════════════════════════════════════════════════════
95+
echo.
96+
97+
sql2excel-v${version}.exe
98+
99+
pause
100+
`;
101+
102+
fs.writeFileSync(`${releaseDir}/run.bat`, runBatContent);
103+
console.log(` ✅ run.bat 생성 완료 (English)`);
104+
105+
// 실행하기.bat (Korean version)
106+
const runBatKrContent = `@echo off
107+
chcp 65001 >nul
108+
cls
109+
110+
echo.
111+
echo ══════════════════════════════════════════════════════════════════
112+
echo SQL2Excel 도구 v${version}
113+
echo ══════════════════════════════════════════════════════════════════
114+
echo.
115+
116+
sql2excel-v${version}.exe
117+
118+
pause
119+
`;
120+
121+
fs.writeFileSync(`${releaseDir}/실행하기.bat`, runBatKrContent);
122+
console.log(` ✅ 실행하기.bat 생성 완료 (Korean)`);
123+
107124
// 디렉토리 복사 함수
108125
function copyDirectory(src, dest) {
109126
if (!fs.existsSync(src)) return;
@@ -138,14 +155,15 @@ Build Date: ${new Date().toLocaleString('en-US')}
138155
139156
Included Files:
140157
- sql2excel-v${version}.exe (Main executable file)
141-
- sql2excel.bat (Menu interface)
158+
- run.bat (Launcher script - English)
159+
- 실행하기.bat (Launcher script - Korean)
142160
- config/ (Database configuration)
143161
- queries/ (Query sample files)
144162
- templates/ (Excel style templates)
145163
- user_manual/ (Documentation files - README, User Manual, etc.)
146164
147165
Usage:
148-
1. Run sql2excel.bat
166+
1. Run run.bat (English) or 실행하기.bat (Korean)
149167
2. Configure database connection settings in config/dbinfo.json
150168
3. Create queries by referring to sample files in queries/ folder
151169
4. Select desired function from the menu
@@ -166,7 +184,7 @@ System Requirements:
166184
Quick Start:
167185
1. Extract all files to a folder
168186
2. Edit config/dbinfo.json with your database connection details
169-
3. Run sql2excel.bat to start the interactive menu
187+
3. Run run.bat (English) or 실행하기.bat (Korean) to start the interactive menu
170188
4. Choose option 3 or 4 to generate Excel files from sample queries
171189
172190
For detailed instructions, please refer to the user manual files in the user_manual/ folder.`;

0 commit comments

Comments
 (0)