티스토리 뷰

IT

상대경로 단축아이콘 만들기

류세 2009.03.16 22:15

상대경로 단축아이콘(비스무리한....것) 만들기
USB 드라이브나 CD상에 단축 아이콘을 만들고는 싶은 상황이 있습니다.
하지만 컴퓨터를 바꾸면 드라이브 문자가 바뀌기 때문에, 여지없이 깨져버리는 단축아이콘을 보게 됩니다.
그렇다고 윈도우즈에서 상대경로로 단축아이콘 만드는 것을 지원하냐면..... 그것도 아닙니다.

이럴때는 아래와 같은 방법으로 상대경로 단축아이콘........비스무리한 것을 만들면 됩니다.


만드는 방법

  1. 메모장을 열고 아래의 내용을 적습니다.
    start "" "원하는 상대경로"
    start, 한칸 띄고, 큰따옴표 두개, 한칸 띄고, 큰따옴표 열고, 원하는 상대경로 적고, 큰따옴표 닫습니다.

    예제)
    start "" "some directory/program.exe"
    start "" "../../another directory/document.pdf"
  2. 파일 - 저장 에서 파일이름을
    "원하는 파일이름.cmd"
    로 하고, 원하는 경로(USB의 루트 정도가 되겠죠)에 저장합니다.

이제 만들어진 파일을 실행하면 드라이브 문자에 상관없이 실행되는 것을 알 수 있습니다.

다만 방법의 한계 상 아이콘 모양은 구질구질한 cmd창 모양으로 됩니다.



원리
윈도우에 포함되어있는 내부 명령인 start를 사용합니다.
cmd창을 열고 start /? 를 입력하면 start명령의 자세한 사용법을 볼 수 있습니다.

네, 사용방법을 자세히 보시면 알겠지만, 사실은 start 상대경로 식으로만 적어도 잘 작동합니다. 다만, 경로에 띄어쓰기가 포함된 경우, 경로를 따옴표로 묶어줘야 하는데, 이게 문법에서 ["제목"]과 충돌합니다. 따라서 충돌을 막기 위하여 위와 같이 적어줍니다.



응용편


* 폴더 탐색기로 열기
그냥 폴더를
start "" "some folder/"
식으로 지정해주면 자동적으로 탐색기로 열립니다.


* 프로그램 여러개 한번에 띄우기
한 줄에 하나씩
start "" "folder1/program1.exe"
start "" "folder2/program2.exe"
start "" "folder3/program3.exe"
식으로 연달아 지정해주면 됩니다.


* %programflies%같은 환경 변수 사용하기
컴퓨터마다 다를 수 있는 program files폴더 같은 경로를 지정하는데에 환경 변수를 사용할 수 있습니다.
start "" "%ProgramFiles%\Internet Explorer\iexplorer.exe"
start "" "%ProgramFiles%\NATEON\BIN\NATEON.exe"
start "" "%WinDir%\explorer.exe"

그 외에 위에 나와있는 start 명령어의 사용방법을 응용하여 다양한 분야에 활용이 가능합니다.


* 관리자 권한으로 실행해야 하는 경우 (2010년 1월 3일 추가)
관리자 권한으로 실행하면 경로가 %WinDir%\system32 로 바뀌어서 실행이 제대로 안되는데, 이 경우 파일 상단에
pushd %~dp0
라고 한 줄 더 넣어주면 됩니다.

대충
pushd %~dp0
start "" "some folder/some program.exe"
이렇게 만들고 저장합니다.


참 쉽죠?

댓글
댓글쓰기 폼