전부터 원하는 기능이었는데 아무리 뒤져봐도 구현해주는 프로그램이 없었습니다.
제가 필요로 했던 기능은 따로 자기만의 독립적?인 BARTPE 이미지를 만들어놓고 유용한 프로그램이나 유틸을 추가하고 싶을때 PE 이미지는 그대로 놓아둔체 특정 드라이브의 특정폴더에 프로그램을 넣고 실행파일만 링크를 걸어 바탕화면에 아이콘을 자동으로 빼주는 배치파일을 만들고 싶었습니다.^^
간단할 것 같았는데 제가 실력이 모자란지라 ^^ 좀 고생했습니다.
완전히 BATCH파일만 이용해서 하진 못했고 Shortcut.exe 라는 유틸을 사용했습니다.
Shortcut.exe 파일은 www.optimumx.com 에서 다운받으시면 되구요.
먼저 배치파일은 두개로 구성됩니다.
ezpath1.bat 파일과 ezpath2.bat 파일 입니다..
ezpath1.bat 파일은 PE 이미지내의 시작프로그램에 존재하여야 하고 ezpath2.bat 파일은 특정드라이브나 폴더 원하는곳에 위치하면 됩니다.
제 경우는 USB 메모리나 USB 외장하드를 이용해서 부팅하는데 폴더 구조를 보면
BOOT (폴더) : BARTPE 이미지와 각종 부팅 이미지가 들어있고
TOOLS(폴더) : 각종 유틸과 프로그램 그리고 ezpath 라는 폴더와 그안에 ezpath2.bat 파일과 shortcut.exe 파일 존재합니다.
grldr (파일) : GRUB 부트로더
menu.lst : GRUB MENU.LST 파일
다른 유틸과 프로그램을 추가하고 싶으면 ezpath2.bat 파일만 수정해주면 바탕화면에 실행파일 바로가기가 부팅되면서 생깁니다.
구동되는 원리는 PE 부팅이 되면서 시작프로그램에 등록된 ezpath1.bat 파일이 실행되어 C드라이브부터
Z 드라이브까지 TOOLS\EZPATH\ezpath2.bat 파일이 존재하는지 찾아갑니다.
찾아내면 그 위치를 ezpath2.bat 로 넘겨주어 shortcut.exe 프로그램을 이용하여 바탕화면에 아이콘을 생성해줍니다.
어찌보면 간단합니다.^^
이제 소스를 보겠습니다.
먼저 ezpath1.bat 파일입니다. ==========================================
@echo.
@echo ezpath v1.0 (Automate Shortcut Creator)
@echo.
@echo made by ezious@gmail.com
@echo off
REM this file locate in startup
rem if exist a:\tools\ezpath\ezpath2.bat set mypath=a:
rem if exist b:\tools\ezpath\ezpath2.bat set mypath=b:
if exist c:\tools\ezpath\ezpath2.bat set mypath=c:
if exist d:\tools\ezpath\ezpath2.bat set mypath=d:
if exist e:\tools\ezpath\ezpath2.bat set mypath=e:
if exist f:\tools\ezpath\ezpath2.bat set mypath=f:
if exist g:\tools\ezpath\ezpath2.bat set mypath=g:
if exist h:\tools\ezpath\ezpath2.bat set mypath=h:
if exist i:\tools\ezpath\ezpath2.bat set mypath=i:
if exist j:\tools\ezpath\ezpath2.bat set mypath=j:
if exist k:\tools\ezpath\ezpath2.bat set mypath=k:
if exist l:\tools\ezpath\ezpath2.bat set mypath=l:
if exist m:\tools\ezpath\ezpath2.bat set mypath=m:
if exist n:\tools\ezpath\ezpath2.bat set mypath=n:
if exist o:\tools\ezpath\ezpath2.bat set mypath=o:
if exist p:\tools\ezpath\ezpath2.bat set mypath=p:
if exist q:\tools\ezpath\ezpath2.bat set mypath=q:
if exist r:\tools\ezpath\ezpath2.bat set mypath=r:
if exist s:\tools\ezpath\ezpath2.bat set mypath=s:
if exist t:\tools\ezpath\ezpath2.bat set mypath=t:
if exist u:\tools\ezpath\ezpath2.bat set mypath=u:
if exist v:\tools\ezpath\ezpath2.bat set mypath=v:
if exist w:\tools\ezpath\ezpath2.bat set mypath=w:
if exist x:\tools\ezpath\ezpath2.bat set mypath=x:
if exist y:\tools\ezpath\ezpath2.bat set mypath=y:
if exist z:\tools\ezpath\ezpath2.bat set mypath=z:
call %mypath%\tools\ezpath\ezpath2.bat
set mypath=
여기까지 입니다.
C드라이브 부터 Z드라이브까지 검색하여 해당 파일이 존재하면 그경로를 ezpath2.bat파일에 넘겨주는 역활만 합니다.
그 다음은 ezpath2.bat 파일입니다. =================================================
@echo off
REM ezpath2.bat
REM 자동아이콘 생성 배치파일 v1.0
REM 이배치파일은 특정드라이브의 \Tools\ezpath 폴더에 Shortcut.exe 파일과 같이 위치
REM made by ezious@gmail.com
%mypath%\tools\ezpath\shortcut.exe /f:"%USERPROFILE%\바탕 화면\Tools.lnk" /a:c /t:%mypath%\tools\ /r:1
%mypath%\tools\ezpath\shortcut.exe /f:"%USERPROFILE%\바탕 화면\Totalcmd.lnk" /a:c /t:%mypath%\tools\totalcmd\totalcmd.exe /r:1
%mypath%\tools\ezpath\shortcut.exe /f:"%USERPROFILE%\바탕 화면\V3-NEO.lnk" /a:c /t:%mypath%\tools\v3\v3+neo.exe /r:1
여기까지 이고 위에처럼 Tools 폴더까지도 바로가기로 생성이 가능합니다.
구지 바탕화면에 아이콘까지 빼놓을 필요가 없는 프로그램이라면 그냥 Tools 폴더에 넣어 놓으셔도 바로
열고 들어갈 수 있으니까 편리? 합니다 ^^
ezpath1.bat 파일에서 넘겨준 경로 %mypath%를 받아 바탕화면에 아이콘을 생성해줍니다.
shortcut.exe 파일 사용법은 shortcut.exe /? 라고 치면 나옵니다만 그냥 제가 사용한 방식대로 하시면 잘 동작합니다. ^^
이소스를 이용하니 여러가지로 이용이 가능하더군요.
한가지 더 만들어 보았는데 ezIPSearch 라구요 ^^
이건 기존 PC가 부팅이 안되는 상황에 그 PC에 설정된 IP를 긁어오는 프로그램입니다.
다음에 포스팅하죠 ^^
'Computing > Batch File Research' 카테고리의 다른 글
부팅안되는 PC의 IP Address 값 얻어오기 배치파일(ezIPSearch) (1) | 2010.01.28 |
---|