제대로 작동하는 배치 파일이나 PowerShell 스크립트를 만들었고, 이제 하나의 .exe로 다른 사람에게 건네고 싶습니다. 더블클릭 한 번이면 되는 파일, “연결 프로그램” 질문도 명령으로 가득한 콘솔도 없이요.
이를 위해 온라인 “BAT to EXE 변환기”는 필요 없습니다. Windows에는 이미 이 작업을 하는 도구가 있고, PowerShell에는 .ps1 스크립트에 같은 일을 해 주는 무료 오픈 모듈이 있습니다. 둘 다 내 컴퓨터에서 실행되므로, 결과 파일은 오직 여러분의 스크립트로만 만들어집니다.
바쁘신가요?
- 배치 파일(.bat / .cmd): Win + R를 누르고
iexpress를 입력한 다음, 설치 명령cmd /c yourscript.bat로 파일을 패키징하세요. - PowerShell(.ps1):
Install-Module ps2exe -Scope CurrentUser을 한 번 실행한 다음Invoke-ps2exe .\script.ps1 .\script.exe를 실행하세요. - Python(.py):
pip install pyinstaller, 그다음pyinstaller --onefile script.py. - 아이콘이 필요하신가요? 무료 아이콘 추출기로 아무 프로그램에서나 가져오세요.
방법 1: IExpress로 BAT를 EXE로(Windows 기본 제공)
IExpress는 수십 년 전부터 Windows에 포함되어 있습니다. 작은 설치 프로그램을 만들기 위한 도구로, 파일을 하나의 EXE로 묶고 EXE가 실행되면 임시 폴더에 풀어 명령을 시작합니다. 그 명령이 여러분의 배치 파일이 될 수 있습니다.
- Win + R를 누르고
iexpress를 입력한 다음 Enter를 누르세요. - Create new Self Extraction Directive file을 선택하고 Next를 클릭하세요.
- Extract files and run an installation command를 선택하세요.
- 패키지에 제목을 지정하세요(모든 메시지의 창 제목에 표시됩니다).
- 확인 메시지: No prompt. 사용권 계약: Do not display a license.
- Packaged files: Add를 클릭하고
.bat파일(및 필요한 파일)을 선택하세요. - Install Program: 파일 이름을 넣어
cmd /c yourscript.bat을 직접 입력하세요. 목록에서 .bat만 선택하면 아무 일도 일어나지 않는 경우가 많습니다. IExpress는 배치 파일을 직접 시작하지 않기 때문입니다. - Show window: 콘솔을 보려면 Default, 조용히 실행하려면 Hidden.
- 완료 메시지: No message.
- Package name: EXE를 저장할 위치를 선택하고 Hide File Extracting Progress Animation from User와 Store files using Long File Name inside Package에 체크하세요.
- Restart: No restart. 나중에 다시 만들려면 SED 파일을 저장한 다음 Next를 클릭해 EXE를 만드세요.
알아 둘 점: 스크립트는 EXE가 있는 위치가 아니라 임시 폴더에서 실행됩니다. copy data.txt backup\ 같은 줄은 그 임시 폴더에서 찾습니다. 패키지 밖에서 읽거나 쓰는 파일에는 전체 경로(%USERPROFILE%\Documents\data.txt)를 사용하세요.
방법 2: ps2exe로 PowerShell을 EXE로
ps2exe는 공식 PowerShell Gallery에 게시된 무료 오픈 소스 PowerShell 모듈입니다. .ps1 스크립트를 그것을 실행하는 작은 EXE로 감싸며, 아이콘, 버전, 콘솔 창 표시 여부를 설정할 수 있습니다.
- PowerShell을 열고(관리자 권한 불필요) 모듈을 한 번 설치하세요:
PowerShell이 NuGet 공급자를 설치할지 또는 PSGallery 리포지토리를 신뢰할지 물으면 다음과 같이 답하세요 Y.Install-Module ps2exe -Scope CurrentUser - 스크립트가 있는 폴더로 이동해 EXE를 만드세요:
Invoke-ps2exe .\script.ps1 .\script.exe - 유용한 옵션:
-noConsole: 콘솔 창을 표시하지 않습니다(폼이나 메시지 상자를 표시하는 스크립트용).-iconFile .\app.ico: EXE의 아이콘.-requireAdmin: 시작할 때 관리자 권한을 요청합니다.-title "My Tool" -version "1.0.0": Windows가 파일 속성에 표시하는 정보.
명령줄보다 창이 편하신가요? 모듈을 설치한 뒤 Win-PS2EXE를 실행하세요. 작은 폼이 있는 같은 도구입니다.
기타 스크립트: Python, AutoHotkey, Node.js
- Python:
pyinstaller --onefile script.py은dist폴더에 EXE 하나를 만듭니다. 창이 있는 프로그램에는--noconsole를 추가하세요. - AutoHotkey: 설치 프로그램에 Ahk2Exe가 포함되어 있습니다. .ahk 파일을 마우스 오른쪽 버튼으로 클릭하고 Compile Script를 선택하세요.
- Node.js: 최신 버전(20 이상)은 단일 실행 파일 애플리케이션을 만들 수 있습니다(Node.js 문서의 “Single executable applications” 페이지 참고).
정말 EXE가 필요한가요?
더 간단한 방법으로 충분한 경우가 많습니다:
- 바로 가기. .bat 파일을 마우스 오른쪽 버튼으로 클릭하고 Send to → Desktop (create shortcut)(보내기 → 바탕 화면에 바로 가기 만들기)을 선택한 다음, 속성에서 바로 가기에 아이콘을 지정하세요. 더블클릭하면 스크립트가 실행됩니다.
- 예약된 작업. 매일 또는 로그인할 때 실행해야 하는 스크립트라면 작업 스케줄러가 .bat나 .ps1을 직접 실행합니다.
- 스크립트 그대로. 공유받는 사람이 Windows를 쓴다면 .bat 파일은 더블클릭만으로 이미 실행됩니다.
모든 “BAT to EXE 변환기”가 알려 주지 않는 세 가지
- 코드는 숨겨지지 않습니다. 이 도구들은 스크립트를 EXE 안에, 대개 일반 텍스트로 저장합니다. 누구나 다시 읽어 낼 수 있습니다. 예를 들어 저희 문자열 추출기는 어떤 파일이든 그 안의 읽을 수 있는 텍스트를 나열합니다. 비밀번호, 토큰, 키는 절대 넣지 마세요.
- 백신 프로그램이 경고할 수 있습니다. 악성 코드도 같은 래퍼를 사용하기 때문에 Windows Defender와 SmartScreen이 전혀 해롭지 않은 스크립트 EXE에 경고를 표시할 수 있습니다. 코드 서명 인증서로 서명하면 도움이 되고, Microsoft는 직접 만든 파일의 오탐 신고도 받습니다.
- 웹사이트에서 받은 EXE는 확인할 수 없는 파일입니다. 온라인 변환기는 여러분이 전혀 모르는 서버에서 만든 파일을 돌려줍니다. 그래서 변환기를 제공하는 대신 기본 제공 방법을 설명합니다. IExpress나 ps2exe를 쓰면 파일에 무엇이 들어갔는지 정확히 알 수 있습니다.
다른 사람에게 받은 EXE를 열기 전에 무엇을 실행하는지 알고 싶으신가요? EXE를 실행하지 않고 분석하는 방법을 읽어 보세요.
나머지 작업을 위한 무료 도구
모두 브라우저에서 실행되며, 파일은 어디에도 업로드되지 않습니다.