
Windows 7에서 상황에 맞춰 특정 파일/폴더의 이름을 쉘 스크립트에 전달할 수 있는 마우스 오른쪽 버튼 클릭 상황에 맞는 메뉴 옵션을 만들고 싶습니다.
나는 이것이 가능해야 한다는 것을 알고 있습니다. 예를 들어 7zip 파일이 있는 경우 해당 파일을 마우스 오른쪽 버튼으로 클릭한 다음 "여기서 추출"이라고 말하면 대상(.7z 아카이브)이 7zip 프로그램으로 전달됩니다.
특히, 저는 .c 파일을 LaTeX 목록에 넣고 pdflatex를 실행하여 읽기 쉬운 형식의 파일을 만드는 스크립트를 가지고 있습니다. 그러나 파일을 명령줄 인수로 지정해야 합니다. 내가 하고 싶은 것은 파일을 마우스 오른쪽 버튼으로 클릭하고 이 스크립트를 자동으로 실행하여 마우스 오른쪽 버튼 클릭 대상의 경로를 명령줄 인수에 자동으로 전달할 수 있도록 만드는 것입니다.
답변1
슈퍼유저에 오신 것을 환영합니다!
이를 수행하려면 레지스트리 편집이 필요하며 모든 파일, 특정 확장자의 파일만, 폴더 또는 둘 다에 대해 이 항목을 추가할지 여부에 따라 다릅니다.
레지스트리 편집기를 열고 HKEY_CLASSES_ROOT
. 여기에는 여러 파일 확장자가 표시됩니다. 이것이 바로 컨텍스트 메뉴를 제어하는 것입니다.
핸들러를 추가하는 것은 해당 메뉴 항목을 무엇에 첨부하든 상관없이 동일한 프로세스이며, 레지스트리의 위치만 중요합니다.
프로세스는 다음과 같습니다.
shell
추가하려는 항목의 키 아래에 새 키를 만듭니다 .- 이 메뉴 항목에 아이콘을 포함하려면
Icon
아이콘 경로를 값으로 사용하여 방금 생성한 키에 이름이 지정된 문자열을 추가하세요. - 키 추가아래에당신이 만든 항목은
command
- 열려는 스크립트를 가리키도록 이 키 아래의 (기본값) 항목을 수정하고,
"%1"
프로그램에 전달되는 파일 이름이 명령줄에 있어야 하는 위치에 를 추가합니다.
이 새로운 메뉴 항목은 어디로 가야 할까요? 보여주고 싶다면...
- 특정 확장자를 가진 모든 파일에 대해 일치하는 확장자 키 아래에 넣습니다. 존재하지 않는 경우 하나를 생성할 수 있습니다.
*
모든 파일에 대해서는 키 아래에 넣으십시오.- 모든 디렉토리에 대해 키 아래에 넣으십시오
Directory
.