Windows : 마우스 오른쪽 버튼 메뉴에 배치 스크립트 동작을 추가하는 방법


18

임시 파일이나 백업 파일 또는 중요하지 않은 유사한 파일을 만드는 몇 가지 프로그램이 있습니다. 예를 들어 Windows 용 GVim 은 기본적으로에 백업 파일을 만듭니다 filename.txt~.

때때로 디렉토리를 정리하고이 파일들을 모두 제거해야합니다. 이를 위해 간단한 .bat 파일을 만들었습니다. 그러나 CMD를 시작하고 폴더로 이동하여 스크립트를 실행해야하는 것은 번거 롭습니다. 특히 이것은 다양한 폴더에서 자주 실행하려는 스크립트이기 때문에. 그리고 유지 보수의 악몽이 될 수 있으므로 스크립트를 여러 폴더에 복사하고 싶지 않습니다.

그래서 가장 좋은 해결책은 스크립트를 실행할 수있는 오른쪽 클릭 메뉴 항목을 추가하는 것이라고 생각했습니다. 탐색기에서 폴더를 마우스 오른쪽 버튼으로 클릭하고 정리를 클릭 한 다음이 폴더에서 스크립트를 실행할 수 있습니다.

그래서 내 질문은 : 사용자 정의 배치 스크립트를 실행하는 마우스 오른쪽 버튼 클릭 메뉴 작업을 어떻게 추가합니까?

답변:


18

이 .reg 키를 사용하여 Windows XP SP3에서 시도했습니다. 현재 제대로 테스트 할 Windows 7이 없지만 거의 동일해야합니다.

  1. 메모장을 열고 아래에서 코드를 붙여 넣습니다.
  2. 필요에 따라 편집하십시오.
  3. MyScript1.reg로 저장
  4. 레지스트리에서 가져 오려면 두 번 클릭하십시오.
  5. 탐색기에서 디렉토리를 마우스 오른쪽 버튼으로 클릭하여 테스트
Windows 레지스트리 편집기 버전 5.00

[HKEY_CLASSES_ROOT \ Directory \ shell \ MyScript1]
@ = "MyScript1 실행"

[HKEY_CLASSES_ROOT \ Directory \ shell \ MyScript1 \ 명령]
@ = "\"C : \\ MyScriptsDirectory \\ MyScript1Directory \\ MyScript1.bat \ "\"% 1 \ ""

4
귀하의 답변을 약간 수정했습니다. "Windows 레지스트리 편집기 버전 5.00"는 .reg 파일의 필수 'header'입니다. 그렇지 않으면 Windows는 레지스트리에 내용물 주입을 거부합니다.
extremko

그것을 지적하기 위해 +1. 나는 c / p 코드 때 완전히 잊어 버렸습니다.
Robert Schmidt

1
나는 이것을 시도했다. 이제 폴더를 직접 마우스 오른쪽 버튼으로 클릭 할 수는 있지만 폴더 내부를 마우스 오른쪽 버튼으로 클릭하면 작동하지 않습니다 . 실제로 내가 원하는 것입니다. 그렇게하는 방법?
ervingsb

1
" 탐색기 에서 폴더마우스 오른쪽 버튼으로 클릭하고 정리를 클릭 한 다음 스크립트를이 폴더에서 실행할 수있게
로버트 슈미트

그래, 내가 그것을 명확히 한 이유입니다. 부정확해서 죄송합니다. 실제로 폴더를 마우스 오른쪽 버튼으로 클릭하는 것으로 생각합니다. 폴더 아이콘이 아니라 폴더 안에 있습니다.
ervingsb

19

사실, 현재 답변 이 오래되지 않았습니다. Windows 10에서 똑같은 것을 시도하고 Windows Run Batch script의 모든 폴더의 상황에 맞는 메뉴에 추가 할 수있었습니다 .

이것은 내 배치 스크립트의 내용입니다 ( UNC 경로 에서는 작동하지 않음 ).

@ECHO OFF
ECHO % ~ n0은 다음 인수로 호출되었습니다.
SET 인수 = % *
정의되지 않은 경우 GOTO 종료
에코 % *
:종료
중지

내가 만든 레지스트리 변경 사항은이 REG 파일로 복제 할 수 있습니다.

Windows 레지스트리 편집기 버전 5.00

[HKEY_CLASSES_ROOT \ Directory \ shell \ 배치 스크립트 실행]
@ = "& Batch 스크립트 실행"

[HKEY_CLASSES_ROOT \ Directory \ shell \ 배치 스크립트 실행 \ 명령]
@ = "\"H : \\ BATCH_FILE_PATH \\ context-batch.bat \ "\"% 1 \ ""

Windows의 모든 디렉토리 / 폴더에 대한 컨텍스트 메뉴 항목 만 추가합니다. 대신 모든 파일마다 표시하려면 다음을 사용할 수 있습니다.

Windows 레지스트리 편집기 버전 5.00

[HKEY_CLASSES_ROOT \ * \ shell \ 스크립트 실행]
@ = "실행 및 스크립트"

[HKEY_CLASSES_ROOT \ * \ shell \ 스크립트 실행 \ 명령]
@ = "\"H : \\ BATCH_FILE_PATH \\ context-batch.bat \ "\"% 1 \ ""

또는 배치 스크립트에 Send To대한 바로 가기를 작성하여 배치 목록 아래에 배치 %APPDATA%\Microsoft\Windows\SendTo하거나 shell:sendto주소 표시 줄에 입력 하여 배치 스크립트를 항목 목록에 추가 할 수 있습니다.

디렉토리 (디렉토리 배경?)에서 빈 공간을 마우스 오른쪽 버튼으로 클릭 할 때 나타나는 상황에 맞는 메뉴에 스크립트를 표시하려면 다음 REG 파일을 사용할 수 있습니다.

Windows 레지스트리 편집기 버전 5.00

[HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ 배치 스크립트 실행]
@ = "& Batch 스크립트 실행"
"Icon"= "% SystemRoot % \\ System32 \\ shell32.dll, 71"

[HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ 배치 스크립트 실행 \ 명령]
@ = "H : \\ BATCH_FILE_PATH \\ context-batch.bat \"% V \ ""

당신은 "Icon"="%SystemRoot%\\System32\\shell32.dll,71"라인이 필요하지 않습니다 . 다음과 같은 상황에 맞는 메뉴에 아이콘을 추가하기 만하면됩니다.

상황에 맞는 메뉴 아이콘 창


감사! 그런데 현재 폴더의 빈 공간을 마우스 오른쪽 버튼으로 클릭하면 폴더 자체를 클릭 할 때뿐만 아니라이 컨텍스트 메뉴를 표시하는 방법을 알고 있습니까?
Tom Brito

@TomBrito 최신 편집 내용을 참조하십시오.
Vinayak

@ Tom Brito : 빈 공간 컨텍스트 메뉴 수정은 여기에 대답 된 것 같습니다 : stackoverflow.com/questions/4902041/…
kreemoweet

@kreemoweet 연결해 주셔서 감사합니다! 그러나 상황에 맞는 메뉴 편집기 를 분석하여 이에 대해 알았습니다 .
Vinayak

@kreemoweet 현재 디렉토리를 스크립트로 전달할 경로 문자열 Directory\Background을 포함하도록 변경했습니다 %V. 그러나 나는 그것이 무엇을 의미하는지 잘 모르겠습니다. %W잘 작동하는 것 같습니다.
Vinayak

7

이 작업에 기본 프로그램 편집기 를 권장 합니다. 레지스트리를 직접 편집하는 것보다 사용하기 쉽고 안전합니다.

상황에 맞는 메뉴를 선택하십시오 여기에 이미지 설명을 입력하십시오

변경하려는 확장자를 선택하십시오. 여기에 이미지 설명을 입력하십시오

추가 ...를 선택하십시오. 여기에 이미지 설명을 입력하십시오

명령에 제목을 지정하고 배치 파일을 찾아보고 선택적으로 명령을 나타내는 아이콘을 선택하십시오. 여기에 이미지 설명을 입력하십시오

상황에 맞는 메뉴를 레지스트리에 저장하면 좋습니다.


파일 형식이 아닌 폴더에서 배치를 실행하고 싶습니다. 도움이되지 않는 것 같습니다 ...
Tom Brito

공유해 주셔서 감사합니다.
다니엘 카플란

좋은 프로그램입니다. 감사.
Laurie Stearn '15 .14에

0

Windows 10에서 사용하는 대체 솔루션은 경로 변수의 폴더 중 하나에 스크립트를 추가 한 다음 탐색기 사용시 시퀀스를 사용하는 것입니다.

  • ctrl + L-검색 창에 쓰기 시작

  • cmd를 입력 한 다음 Enter 키를 누릅니다. 현재 디렉토리에서 cmd를 시작합니다.

  • 파일 이름을 입력하여 스크립트를 실행하십시오.


0

@Vinayak,

"보내기"옵션을 사용하는 경우 cd /d %1대상 경로 아래에서 실행되도록 배치 명령의 시작 부분에 행 을 추가해야 합니다.

내 현재 배치 파일은 다음과 같습니다.

@echo off
cd /d %1    
del *.txt
pause

도움을 주셔서 감사합니다. 적시에 Google을 통해이 문제를 발견했습니다. :)


이것은 실제로 주석이며 원래 질문에 대한 답변이 아닙니다 . 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 . 댓글을 작성하려면 50 개의 평판이 필요한 이유를
DavidPostill

@DavidPostill 글쎄, 그는 자신의 답변을 게시하기 전에이 스레드에 자신의 게시물을 가지고 있지 않았습니다. 아마도 아무것도 아닙니다.
barlop

@barlop 답변은 잘 아는 것처럼 주석을 대체하지 않습니다. 하나의 대안은 다른 답변에 대한 편집을 제안하는 것입니다 ...하지만 거부 될 수 있습니다.
DavidPostill

@DavidPostill 내 요점은 단지 그가 옵션이 없다는 것입니다. 그리고 당신은 원래의 의견에서 그 사실에 대해 명확하지 않습니다. 사실 당신의 원래 의견은 그가 몇 가지 옵션을 가지고 있지만 그렇지 않다는 아이디어를 암시합니다.
barlop

@barlop 아. 확인. 나는 좀 더 나은 표현에 대해 생각할 것이다 ...
DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.