알짜게시판

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

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

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


콘솔 환경 설정

스크립트 시작 시 콘솔 코드 페이지를 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 1,830 26-04-05
윈도우 ZImage AI 이미지 생성 환경 구축 방법 1,630 26-03-26
⭐ 윈도우 파일 복사 후 실행 배치파일 - 에러 감지 포함 1,648 26-03-10
윈도우 윈도우11 업데이트 후 네트워크 드라이브 접근 불가 문제 해결 방법 4,209 25-11-24
윈도우 윈도11 강제업데이트 피하고 윈도10 계속 쓰기 42,848 25-10-12
윈도우 Chrome 및 Edge를 TLS 1.2 모드로 실행 75,767 25-08-30
윈도우 브라우저 환경설정 추출 147,119 25-06-18
윈도우 WSH script registration is not valid. 135,964 25-05-23
윈도우 네트워크 탐지 116,621 24-12-31
윈도우 TLS 연결 끊김 해결 방법 - Kyber 비활성화 285,436 24-10-12
윈도우 WinDivert 사용중인 어플리케이션 검색 47,827 24-09-12
윈도우 아이폰 벨소리 쉽게 추가하기 95,866 24-06-14
윈도우 C:\Windows\Installer 폴더 다른 드라이브로 옮기기 107,029 24-05-29
윈도우 작업 표시줄 (기타 시스템 트레이 아이콘) 제거 프로그램 194,310 24-05-18
윈도우 Windows에 Rust 설치하기 59,125 23-10-05
윈도우 파일 내용 검색 47,176 23-02-09
윈도우 node.js 와 npm 업데이트(업그레이드) 58,973 22-12-01
윈도우 윈도우11 시작 메뉴 위치 변경(가운데, 왼쪽) 62,007 22-10-10
윈도우 IPv6 켜기, 끄기 49,022 22-08-03
윈도우 윈도우 서버 2016 IIS 중지 10,582 21-01-29
윈도우 설치하려고 하는 앱이 Microsoft에서 확인된 앱이 아닙니다. 18,310 20-10-11
윈도우 WMI 복구하기 1 12,616 20-08-20
윈도우 WinHTTP 사용에서 12175 에러 발생시 6,675 20-04-04
윈도우 원격 데스크탑 접속 기록 삭제하기 5,267 19-07-24
윈도우 네트워크 드라이브 커맨드 명령으로 연결하기 3,295 19-07-11
윈도우 VS Code 설치방법 3,686 19-06-30
윈도우 레지스트리 변경값 추적하는 프로그램 8,313 19-06-14
윈도우 크롬 알림창 해제하기 3,531 19-05-28
윈도우 Go 언어 설치하기 3,250 19-05-16
목록

청년돈길클라우드AI책과지식자기계발철학인문