알짜게시판

파일 복사 후 실행 배치파일 - 에러 감지 포함

이 배치 스크립트는 네트워크 경로에 있는 실행 파일을 현재 디렉터리로 복사한 뒤 실행하는 간단한 실행 보조 도구이다.

복사 과정에서 오류가 발생하면 콘솔에 오류 메시지를 출력하고 프로그램 실행을 중단한다.


콘솔 환경 설정

스크립트 시작 시 콘솔 코드 페이지를 UTF-8로 설정한다.

이는 콘솔 출력에서 사용되는 특수 문자와 박스 문자가 깨지지 않도록 하기 위한 설정이다.

또한 ANSI 이스케이프 코드를 사용하기 위해 ESC 문자를 변수에 저장한다.
이 값은 이후 콘솔 색상과 스타일을 제어하는 데 사용된다.


파일 경로 설정

스크립트에서는 환경 변수를 사용해 다음 정보를 정의한다.

  • 실행 파일이 위치한 원본 경로
  • 복사할 실행 파일 이름
  • 복사 후 사용할 파일 이름

이 방식은 경로나 파일 이름을 수정할 때 스크립트 전체를 수정하지 않아도 되는 장점이 있다.


파일 복사

지정된 경로에 있는 실행 파일을 현재 디렉터리로 복사한다.

복사 과정에서 발생하는 기본 출력 메시지는 모두 숨겨 콘솔 출력이 나타나지 않도록 처리되어 있다.


오류 처리

파일 복사에 실패하면 콘솔에 오류 메시지를 출력한다.

이 메시지는 ANSI 이스케이프 코드를 이용해 색상과 박스 형태로 표시되며, 사용자에게 복사 실패 상황을 안내한다.

이후 키 입력을 기다린 뒤 스크립트가 종료된다.


프로그램 실행

파일 복사가 정상적으로 완료되면 복사된 실행 파일을 즉시 실행한다.

이 과정에서 실행 파일은 새로운 프로세스로 시작된다.

@echo off
chcp 65001 >nul
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"

set SRC_PATH=N:\Release
set SRC_FILE=WBManager.exe
set DST_FILE=WBManager.exe

copy "%SRC_PATH%\%SRC_FILE%" "%DST_FILE%" >nul 2>&1 || (
    echo.
    echo.
    echo  %ESC%[90m╔══════════════════════════════════════════════════════════╗%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m                                                          %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m                                                    %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m   ██████╗ ██████╗ ██████╗  ██████╗ ██████╗         %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m   ██╔══╝  ██╔══██╗██╔══██╗██╔═══██╗██╔══██╗        %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m   █████╗  ██████╔╝██████╔╝██║   ██║██████╔╝        %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m   ██╔══╝  ██╔══██╗██╔══██╗██║   ██║██╔══██╗        %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m   ███████╗██║  ██║██║  ██║╚██████╔╝██║  ██║        %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m   ╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝        %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[101;97m                                                    %ESC%[0m   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m                                                          %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m╠══════════════════════════════════════════════════════════╣%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m                                                          %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[1;97m FAILED TO COPY FILE%ESC%[0m                                   %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m                                                          %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m   %ESC%[2;37m Press any key to exit ...%ESC%[0m                             %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m║%ESC%[0m                                                          %ESC%[90m║%ESC%[0m
    echo  %ESC%[90m╚══════════════════════════════════════════════════════════╝%ESC%[0m
    echo.
    pause >nul
    exit /b
)

start "" "%DST_FILE%"

로그인 후 댓글내용을 입력해주세요

제목 글쓴이 조회 날짜
윈도우 ZImage AI 이미지 생성 환경 구축 방법 53 21시간 전
윈도우 파일 복사 후 실행 배치파일 - 에러 감지 포함 169 26-03-10
윈도우 윈도우11 업데이트 후 네트워크 드라이브 접근 불가 문제 해결 방법 1,252 25-11-24
윈도우 윈도11 강제업데이트 피하고 윈도10 계속 쓰기 41,561 25-10-12
윈도우 Chrome 및 Edge를 TLS 1.2 모드로 실행 74,196 25-08-30
윈도우 브라우저 환경설정 추출 145,671 25-06-18
윈도우 WSH script registration is not valid. 134,607 25-05-23
윈도우 네트워크 탐지 115,413 24-12-31
윈도우 TLS 연결 끊김 해결 방법 - Kyber 비활성화 282,381 24-10-12
윈도우 WinDivert 사용중인 어플리케이션 검색 46,615 24-09-12
윈도우 아이폰 벨소리 쉽게 추가하기 95,051 24-06-14
윈도우 C:\Windows\Installer 폴더 다른 드라이브로 옮기기 105,986 24-05-29
윈도우 작업 표시줄 (기타 시스템 트레이 아이콘) 제거 프로그램 192,612 24-05-18
윈도우 Windows에 Rust 설치하기 58,180 23-10-05
윈도우 파일 내용 검색 46,430 23-02-09
윈도우 node.js 와 npm 업데이트(업그레이드) 58,201 22-12-01
윈도우 윈도우11 시작 메뉴 위치 변경(가운데, 왼쪽) 61,198 22-10-10
윈도우 IPv6 켜기, 끄기 47,919 22-08-03
윈도우 윈도우 서버 2016 IIS 중지 9,623 21-01-29
윈도우 WMI 복구하기 1 9,550 20-08-20
윈도우 WinHTTP 사용에서 12175 에러 발생시 5,762 20-04-04
윈도우 원격 데스크탑 접속 기록 삭제하기 4,263 19-07-24
윈도우 네트워크 드라이브 커맨드 명령으로 연결하기 2,414 19-07-11
윈도우 VS Code 설치방법 2,914 19-06-30
윈도우 레지스트리 변경값 추적하는 프로그램 7,476 19-06-14
윈도우 크롬 알림창 해제하기 2,772 19-05-28
윈도우 Go 언어 설치하기 2,513 19-05-16
목록
주점닷컴성장노트결혼준비꽃한송이개봉닷컴