알짜게시판

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

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

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


콘솔 환경 설정

스크립트 시작 시 콘솔 코드 페이지를 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%"

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

제목 글쓴이 조회 날짜
윈도우 윈도우 실행파일(exe) 서비스 등록 자동화 쉽게 하는 방법 - NSSM 419 26-04-05
윈도우 ZImage AI 이미지 생성 환경 구축 방법 511 26-03-26
윈도우 파일 복사 후 실행 배치파일 - 에러 감지 포함 534 26-03-10
윈도우 윈도우11 업데이트 후 네트워크 드라이브 접근 불가 문제 해결 방법 1,671 25-11-24
윈도우 윈도11 강제업데이트 피하고 윈도10 계속 쓰기 41,880 25-10-12
윈도우 Chrome 및 Edge를 TLS 1.2 모드로 실행 74,565 25-08-30
윈도우 브라우저 환경설정 추출 146,037 25-06-18
윈도우 WSH script registration is not valid. 134,942 25-05-23
윈도우 네트워크 탐지 115,697 24-12-31
윈도우 TLS 연결 끊김 해결 방법 - Kyber 비활성화 282,997 24-10-12
윈도우 WinDivert 사용중인 어플리케이션 검색 46,863 24-09-12
윈도우 아이폰 벨소리 쉽게 추가하기 95,256 24-06-14
윈도우 C:\Windows\Installer 폴더 다른 드라이브로 옮기기 106,192 24-05-29
윈도우 작업 표시줄 (기타 시스템 트레이 아이콘) 제거 프로그램 192,925 24-05-18
윈도우 Windows에 Rust 설치하기 58,367 23-10-05
윈도우 파일 내용 검색 46,585 23-02-09
윈도우 node.js 와 npm 업데이트(업그레이드) 58,391 22-12-01
윈도우 윈도우11 시작 메뉴 위치 변경(가운데, 왼쪽) 61,370 22-10-10
윈도우 IPv6 켜기, 끄기 48,171 22-08-03
윈도우 윈도우 서버 2016 IIS 중지 9,827 21-01-29
윈도우 설치하려고 하는 앱이 Microsoft에서 확인된 앱이 아닙니다. 17,527 20-10-11
윈도우 WMI 복구하기 1 10,002 20-08-20
윈도우 WinHTTP 사용에서 12175 에러 발생시 5,923 20-04-04
윈도우 원격 데스크탑 접속 기록 삭제하기 4,482 19-07-24
윈도우 네트워크 드라이브 커맨드 명령으로 연결하기 2,621 19-07-11
윈도우 VS Code 설치방법 3,137 19-06-30
윈도우 레지스트리 변경값 추적하는 프로그램 7,652 19-06-14
윈도우 크롬 알림창 해제하기 2,925 19-05-28
윈도우 Go 언어 설치하기 2,675 19-05-16
목록
주점닷컴결혼준비건강정보철학인문결혼의정석