안녕하세요 선배님들 스크립트 파일을 처음 짜보는데
이게 무엇을 의미하는 지 하나도 모르겠어서 질문 올립니다..
작성 중인 예시 스크립트 파일 올립니다.
현재 원본
///////////////////////////////////////////
아래 화면은 수동으로 설치 시 bat파일을 이용하여 설치하는 편입니다.
이 과정을 생략하고 위의 화면처럼 윈도우 비트수에 구분 짓게
32bit/ 64bit로 구분지어 통합 EXE파일로 스크립트 파일을 생성하고 싶은데
연구 중이나 방향을 못 잡겠습니다.
도움 좀 부탁드리겠습니다..
도움 주시면 꼭 사례드리겠습니다!
4개의 답변이 있습니다.
답변 달아주신 모든 분들께 진심으로 감사 인사를 전해드립니다.
테스트가 완료되어 최종적으로 배포 가능해 졌네요.
스크립트 예제는 일반 윈도우 배치 스크립트가 아니라 NSIS를 사용하는 스크립트 같은거로 보이는데,
단순하게 해결할 수 있는 방법은 wansoo님이 만드신 스크립트를 배치파일로 만드신 후, 반디집에서 exe로 모든 파일을 압축하시면 될꺼 같습니다.
간단히 예시를 비슷하게 만들어서 보여드리자면, wansoo님이 만드신 스크립트를 별도로 저장하시고(스크린샷에서는 unziprunning.cmd 파일입니다.)
이 화면에서 EXE 설정을 누르신다음,
이런 비슷한 식으로 설정하시면 될꺼 같습니다.
추가적으로 명령프롬프트가 뜨는것도 숨기시려면
bat to exe convert 을 찾아보셔서 창을 숨기시면 될거 같습니다. 물론 exe로 변환하시고, 압축풀기 후 실행의 파일을 변환하신 exe파일로 지정하시면 될꺼같습니다. (참고 URL : https://blog.dalso.org/it/12212)
단점은 대부분의 백신에서는 압축프로그램을 통해 exe파일을 만들면 걸러버리는경우가 있으니, 백신매니저에서 해당 exe파일에 대해서는 예외처리도 별도로 직접해두시는게 좋을거 같습니다
wansoo | 일 년 이상 전
좋은 정보입니다. 참고할께요.
첨부하신 스크립트 예제 파일이 어떤 스크립트인지를 모르겠는데요.
batch file도 아니고, PowerShell 스크립트도 아니고... 그렇다고 VB Script도 아니고...??
첨부한 예제 역할의 스크립트를 batch file 예제로 간단하게 만들어 봐 볼께요.
----------------------------------------------------------
@echo off
setlocal
set wspath=%~dp0
rem OS bit 확인
reg query "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0" /v "Identifier" | findstr /i x86 > nul && set bit=x86 || set bit=amd64
rem OS bit 값에 따른 처리
goto install_%bit%
rem ======= X86 처리 루틴 시작 =======
:install_x86
rem 32bit용 DLP32.exe file을 실행 시킴
"%wspath%DLP32.exe
goto :end
rem ======= X86 처리 루틴 끝 =======
rem ======= AMD64 처리 루틴 시작 =======
:install_amd64
rem 64bit용 DLP64.exe file을 실행 시킴
"%wspath%DLP64.exe"
goto :end
rem ======= AMD64 처리 루틴 끝 =======
:end
endlocal
----------------------------------------------------------
위 배치 파일 코드의 @echo off 에서 부터 endlocal까지를 복사해서 install_agent.bat file로 저장해서 실행 시켜 주면 될 걸로 보여 지네요.
32bit/64bit에 따라 bit에 맞는 실행파일을 실행하시고 싶으신 것으로 이해했습니다.
batch 파일에 아래와 같이 시작하시고
빨간색 부분에 원하시는 실행구문 넣어시면 됩니다.
-----------------------------------------------------------------------------
@echo OFF
reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT
if %OS%==32BIT echo This is a 32bit operating system
if %OS%==64BIT echo This is a 64bit operating system
-----------------------------------------------------------------------------